【发布时间】:2011-01-26 22:29:00
【问题描述】:
在编写复杂的 SQL 查询时,我们如何确保使用正确的索引并避免全表扫描?我通过确保我只加入具有索引(主键、唯一键等)的列来做到这一点。够了吗?
【问题讨论】:
在编写复杂的 SQL 查询时,我们如何确保使用正确的索引并避免全表扫描?我通过确保我只加入具有索引(主键、唯一键等)的列来做到这一点。够了吗?
【问题讨论】:
向数据库询问查询的执行计划,然后从那里继续。
不要忘记索引出现在 where 子句中的列。
【讨论】:
很难说什么是最好的索引,因为根据情况有不同的策略。关于索引,您现在仍然应该做一些轿跑车的事情。
在调整索引时始终尝试分析执行计划。不要害怕尝试。
这都是我的。
【讨论】:
查看查询的执行计划,了解查询优化器如何认为必须检索事物。该计划通常基于表的统计信息、索引的选择性和连接的顺序。请注意,优化器可以决定执行全表扫描比索引查找“便宜”。
其他需要寻找的东西:
尽可能避免子查询。
尽量减少“或”谓词的使用
在where子句中
【讨论】:
使用数据库优化顾问(SQL Server)来分析您的查询。它将建议添加必要的索引以调整您的查询性能
【讨论】: