如何提高SQL语句的查询速度?急!(100分)

D

dahua

Unregistered / Unconfirmed
GUEST, unregistred user!
一个SQL SERVER数据库表,大约有五六十万条记录,已建了适当的索引,查询语句也很恰当,
每次查询大约要两三秒,现在想提高查询的速度,不知还有何良方?
另外有个问题很奇怪,比如以电话号码查询,如果查询以某个数据开头的号码,
查询结果反而快(返回很大的记录集),查询某个特定号码相对慢些,不知是为什么?
 
一、不知你说的每次查询是指什么查询,如果是在主关键字的查询,当然不可能要这么久的
  如果是其他非主关键字查询或模糊查询,我觉得这个速度已不慢了。
二、如果你的电话号码是唯一的,建议建立唯一性索引,这样查起来就很快了。
 
关键是看你返回的结果集有多大,
如果只是返回部分结果集,那在50万记录中的查询速度应该在1秒以下。
如果照你说的,索引是正确建立的,那只能是检查硬件配置是否合理了。
你的内存足够大吗?
但是, 你的索引真的建的对吗? 组合条件要用组合索引。
另外, 如楼上所说, 能用唯一索引就用吧。

另外,你说的查询很快, 用的是filter吧, 否则, 这倒是件很奇特的事了。


 
采用存储过程
udf等,或者对数据库性能进行优化,采用裸设备存取数据等等
 
用存储过程会好点。
 
硬件方案:增大内存,换高速SCSI硬盘,升级CPU
软件方案:优化数据表索引,TABLE SCAN很慢的,就是不能用聚簇索引,查询条件也要建在索引上
 
接受答案了.
 
顶部