我有一个名为lead的表,它有大约50万条记录,我们需要以下查询来执行。
SELECT skip 300000 first 75 *
FROM lead
WHERE ((enrollment_period IS NULL) OR
(enrollment_period IN ('FT2015','F16','SUM2016','FALL2016','FALL2017','SP17')))
ORDER BY created_on DESC
表首将id列作为主键,因此在该列中具有聚簇索引。此查询大约需要12-13分钟。当我在created_on和enrollment_period列上添加非聚集索引时,它下降到4-5分钟。然后我将聚集索引从id列更改为此索引,执行时间现在进一步降低到大约50秒。
此查询是否还有其他优化范围? 总的来说,是否还有其他可以做的更改,以便查询执行得更快?
先谢谢, 马诺哈尔