sql*_*oob 10 sql sql-server indexing sql-server-2008
我在MS SQL 2008数据库上做了一个索引报告(右键单击数据库 - >报告 - >索引使用情况统计信息)
它告诉我,我的一个索引使用:88个用户寻求0个用户扫描6,134,141个用户更新
有人可以向我解释一下:
我认为在这种情况下维护索引的成本是不值得的.
从文章剪辑(虽然肯定给它读了):
扫描
索引扫描是索引中所有叶页的完整读取.在聚簇索引上完成索引扫描时,除了名称之外,它都是一个表扫描.
当查询处理器完成索引扫描时,无论是否返回所有行,它始终是索引中所有叶页的完整读取.它绝不是部分扫描.
扫描不仅涉及读取索引的叶级别,更高级别的页面也会作为索引扫描的一部分读取.
寻求
索引查找是一种操作,其中SQL使用b树结构来定位特定值或值范围的开头.对于索引寻求可能,必须在查询中指定SARGable3谓词和匹配(或部分匹配)索引.匹配索引是查询谓词使用索引列的基于左的子集的索引.这将在本系列的第3部分中进行更详细的研究.
从根页开始评估查找操作.使用根页面中的行,查询处理器将定位索引的下一个较低级别中的哪个页面包含正在搜索的第一行.然后它将读取该页面.如果这是索引的叶级别,则搜索结束.如果它不是叶子,则查询处理器再次识别下一个较低级别中的哪个页面包含指定值.此过程继续,直到达到叶级.
一旦查询处理器找到包含指定键值或指定范围的键值的开头的叶页,它就会沿着叶页读取,直到返回了与谓词匹配的所有行.