为什么索引不能加快查询速度?
Why the indexes not speeding up the query?
我有以下查询:
SELECT TOP 1000 *
FROM MyTable
WHERE Status = 'N' AND Type is not null
ORDER BY mytable.id
MyTable 有 1.3 亿行。
我还创建了这些索引:
CREATE INDEX "MyTableIndex_1" ON MyTable (Status);
CREATE INDEX "MyTableIndex_2" ON MyTable (Type);
ID 列已经是聚集索引。
不知为何查询还是很慢。
我错过了什么?
尝试多列索引
CREATE INDEX "MyTableIndex_StatusType" ON MyTable (Status, Type);
如果这不起作用,请对 'Covering Indexes'
做一些研究
类型不为空,此列的索引可能没有帮助。
顺便说一句,你可以尝试在查询之前更新索引统计信息吗?
我有以下查询:
SELECT TOP 1000 *
FROM MyTable
WHERE Status = 'N' AND Type is not null
ORDER BY mytable.id
MyTable 有 1.3 亿行。
我还创建了这些索引:
CREATE INDEX "MyTableIndex_1" ON MyTable (Status);
CREATE INDEX "MyTableIndex_2" ON MyTable (Type);
ID 列已经是聚集索引。
不知为何查询还是很慢。 我错过了什么?
尝试多列索引
CREATE INDEX "MyTableIndex_StatusType" ON MyTable (Status, Type);
如果这不起作用,请对 'Covering Indexes'
做一些研究类型不为空,此列的索引可能没有帮助。
顺便说一句,你可以尝试在查询之前更新索引统计信息吗?