首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么提高sql的查询性能

2012-03-20 
如何提高sql的查询性能?我要在一张大约有30万条记录的表中查询几十条符合条件的记录,我已在创建了索引(是

如何提高sql的查询性能?
我要在一张大约有30万条记录的表中查询几十条符合条件的记录,我已在创建了索引(是以查询条件里的字段为索引的),但为什么建立索引后与没有建立索引的时候,查询速度差不多呢?按理说建立索引后,查询速度应该有明显提高才是呀.怎么会没有改变呢?要如何提高sql查询性能呢?

[解决办法]
LTRIM(RTRIM(DocumentID)) < > '0 '
LTRIM(RTRIM(ReceiverList)) LIKE '%,120,% ' 
这两个条件都会减慢速度的
(FlowFlag= '0 ' or FlowFlag= '1 ' or FlowFlag= '10 ') 改成 FlowFlag in ('0 ','1 ','10 ') 应该可以略微提高速度

如果V_Office_SendStep是视图,而且牵涉到多个数据量比较大的表,那应该会有更好的解决办法
[解决办法]
可对flowflag建索引,

LTRIM(RTRIM(DocumentID)) < > '0 ' 
LTRIM(RTRIM(ReceiverList)) LIKE '%,120,% '

建议程序写入数据时,先作处理,查询时不要加ltrim与rtrim

热点排行