大数据量多条件情况下怎么提高数据查询效率?

cowkk 2011-09-29 04:27:47
1、我现在有一个100W条记录的一个表
2、里面有20个字段,其中十个字段是可查询的条件
3、查询条件可任意排列组合,每次组合的条件数量顺序不定
4、在表中有一个大字符字段,上面建有全文索引,全文索引可以做为查询条件
5、这个表每秒十次左右的查询操作

怎么样能用最少的索引获得最大的查询效率?

现在查询的情况是能命中索引的查询可以在1秒以内完成,没命中的需要3-5秒,如果条件中有全文索引,又没命中索引,最长执行时间可以到1分钟
...全文
714 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyqok 2011-10-02
  • 打赏
  • 举报
回复
方便的话做个测试库吧
qq:56616197
jacksonlio 2011-10-01
  • 打赏
  • 举报
回复
做表分区试试看。
cowkk 2011-09-29
  • 打赏
  • 举报
回复
1,4条这两条已经做了
第2条正在通过记录数据库执行情况,分析语句来做,但查询条件的随机性,很难做到大部分查询命中索引
第3条我用的是2005
NBDBA 2011-09-29
  • 打赏
  • 举报
回复
建议注意:
1、选择最合适的聚集索引,要求不修改、短、单字段、后添加。
2、可能查询的字段进行必要分析,建立合适的索引组合,以求大部分查询能命中索引。
3、如果2008,考虑合适的INCLUDE索引,可以提高索引效率
4、如果没必要,返回列表不要包括打字符字段。

dawugui 2011-09-29
  • 打赏
  • 举报
回复

这个帖子主要总结提高查询速度的方法,涉及到减少连接数据库次数、建立索引、优化语句等方面。

关于索引,推荐转载的这篇文章
http://blog.csdn.net/dutguoyi/archive/2006/01/10/575617.aspx

改善SQL语句的效率
http://community.csdn.net/Expert/topic/5087/5087396.xml?temp=.345669
数据量很大怎样加快索检速度
http://community.csdn.net/Expert/topic/5058/5058320.xml?temp=.1229517
索引建立方法的区别
http://community.csdn.net/Expert/topic/5068/5068154.xml?temp=.3010218
频繁插入删除数据需要更新索引
http://community.csdn.net/Expert/topic/4937/4937910.xml?temp=.8428614
测试了一下sql server 2005 全文检索
http://community.csdn.net/Expert/topic/4878/4878430.xml?temp=.6049311

其他关于效率的高频问题

判断一个表的数据不在另一个表中最优秀方法?
http://community.csdn.net/Expert/topic/5038/5038742.xml?temp=.4704553
删除千万级表中重复记录的办法
http://community.csdn.net/Expert/topic/5089/5089261.xml?temp=.7907068

数据库数据查询变得不正常类型问题

大数据量,稳定运行一段时候以后无法得到查询结果。
http://community.csdn.net/Expert/topic/4810/4810464.xml?temp=9.014529E-02
薇薇 2011-09-29
  • 打赏
  • 举报
回复
首先考虑多数据查询用索引
然后来优化sql语句
cowkk 2011-09-29
  • 打赏
  • 举报
回复
现在的难点就是查询条件不确定,查询频度高,还有全文索引,不怎么好解决啊
-晴天 2011-09-29
  • 打赏
  • 举报
回复
只能在语句优化和索引上做文章,貌似楼主这方面应该有经验.
数据库对付字符串,短板哪!
dawugui 2011-09-29
  • 打赏
  • 举报
回复
好是那几条.
1.建立相关索引.
2.提高硬件配置.
3.优化查询语句.

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧