select 简单查询, 5分钟以上
我有一个很小的表(数据库了MS SQL SERVER 2000), 有20万行左右, 大概10列. 数据表没加有索引.
我根据字段SN 从这个表中查询满足条件的最新一行数据.
SELECT TOP 1 A, B, C, D FROM 数据表 WHERE SN='xxxxxx' AND test_result='PASS' Order by DateTime DESC
但查找2000行的数据居然需要5分钟以上, 请问如果优化呢? 只能加索引吗?
------解决方案--------------------为什么不加索引呢?
应在(SN,test_result)上建索引.
------解决方案--------------------只能建索引了。
------解决方案--------------------建索引快很多。。
------解决方案--------------------CREATE CLUSTERED INDEX CIX_数据表 ON 数据表(DateTime);
CREATE INDEX IX_数据表 ON (sn,a,b,c,d);
把“数据表”和列名替换成你的真实名字试试,20万不加索引只有全表扫描,加索引不影响数据,它不像约束,test_result选择度太低,不应该作为索引键