首页 新闻 会员 周边 捐助

sql大数据量优化

1
悬赏园豆:10 [已解决问题] 解决于 2012-08-13 20:00

sql千万数据检索,需求要支持模糊查询。频繁修改,每天有20到100条数据更新量

我没什么优化思路,求助。

招财圆的主页 招财圆 | 初学一级 | 园豆:141
提问于:2012-08-13 08:47
< >
分享
最佳答案
1

表分区,加索引,使用存储过程,使用缓存,读写分离,负载均衡,代码查询语句,尽量少用select * 之类的

收获园豆:10
jerry-Tom | 老鸟四级 |园豆:4077 | 2012-08-13 10:50

索引的话表频繁修改,存储过程已使用,表分区,缓存,读写分离正在尝试中。负载均衡我没听过,学习中。谢谢

招财圆 | 园豆:141 (初学一级) | 2012-08-13 11:03
其他回答(4)
1

是不是可以考虑分表啊,不要所有的数据都记录在一张表上。

历史的数据可以单独的放置。

对于查询条件加入索引

有时inner join的操作比查找一张表示耗时的,可以考虑冗余一些数据到一张表,就可以避免inner join的操作了。

chenping2008 | 园豆:9836 (大侠五级) | 2012-08-13 09:28

经理说:就算我死我也不让你动数据库的表

支持(0) 反对(0) 招财圆 | 园豆:141 (初学一级) | 2012-08-13 09:43
0

问一下:

每次检索都是要检索出所有数据吗?

检索是否有规律可循?

比如反向检索、比如逐步检索。

是否可以使用缓存呢?

考虑一下,一个人,一下怎么也看不了20条以上的数据。

中文代码 | 园豆:951 (小虾三级) | 2012-08-13 09:54

嗯,分页每页显示100条数据即可。但是模糊查询会有全表查询,有办法避免么?

支持(0) 反对(0) 招财圆 | 园豆:141 (初学一级) | 2012-08-13 10:56
0

用 sql server 2012 ,列存储,性能大幅度提升。

Launcher | 园豆:45050 (高人七级) | 2012-08-13 09:56

不让用,让我用2008,还要兼容2000。不过列存储我还没听说过呢,学习了,谢谢

支持(0) 反对(0) 招财圆 | 园豆:141 (初学一级) | 2012-08-13 10:58
0

每天有20到100条数据更新量,不属于频繁修改。

模糊查询无法使用索引,建议使用 lucene.net 。

dudu | 园豆:30948 (高人七级) | 2012-08-13 13:08

最后经过商量多加了几个必填的过滤条件以及再把表转存的方式,再用存储过程加缓存的方式暂时处理了。今天才知道还有强大的lucene.net,学习源码中。谢谢

支持(0) 反对(0) 招财圆 | 园豆:141 (初学一级) | 2012-08-13 19:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册