joj*_*ojo 4 sql-server clustered-index non-clustered-index
我有一个145000行的表.并没有任何索引.
当我在sql下运行时.我按预期在执行计划上找到了表扫描.它生成六行和3481逻辑读取.
SET STATISTICS IO ON
SELECT columnA FROM table WHERE LEN(columnA)<>5
Run Code Online (Sandbox Code Playgroud)
然后我在columnA上添加一个聚簇索引并运行sql.I在执行计划中找到一个集群索引扫描.它生成六行和3511逻辑读取.我可以理解B树节点读取的更大逻辑读取.
但令我困惑的是,我在columnA上使用非聚集索引而不是聚簇索引并运行sql.我在执行计划上找到了索引扫描.它生成六行,只需要417个逻辑读取!
我不认为len()函数可以利用索引.但是为什么columnA上的非聚集索引会减少逻辑读取次数(9次)?
| 归档时间: |
|
| 查看次数: |
308 次 |
| 最近记录: |