我希望这个问题不太明显......我已经找到了很多关于解释执行计划的好信息,但有一个问题我还没有找到答案。
该计划(更具体地说是相对 CPU 成本)仅基于架构,还是数据库中当前的实际数据?
我尝试对我的产品数据库中需要索引的位置进行一些分析,但正在使用我自己的测试系统,该系统的数据量与该领域的产品所拥有的数据量不相上下。我看到一些奇怪的事情,比如添加索引后估计的 CPU 成本实际上略有上升,我想知道这是否是因为我的数据集太小了。
我正在使用 SQL Server 2005 和 Management Studio 来制定计划
它将基于架构和数据。模式告诉它哪些索引可用,数据告诉它哪个更好。
答案可能会略有不同,具体取决于您使用的 DBMS(您没有说明),但它们都维护索引的统计信息,以了解索引是否有帮助。如果一个索引将 1000 行分成 900 个不同的值,那么它就是一个很好的索引。如果一个索引仅对 1000 行产生 3 个不同的值,那么它实际上并不是selective
所以它不是很有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)