gpt4 book ai didi

sql-server-2008 - SQL Server 使用什么样的搜索来获取结果

转载 作者:行者123 更新时间:2023-12-02 05:07:54 24 4
gpt4 key购买 nike

我想知道,当我使用:

select *
from table_name
where Id = 2013

SQL Server 2008 在内部使用哪种搜索来获取行?

最佳答案

这取决于 Id 是否被索引,如果是,索引是否包含(覆盖)所有列。

通常名为 id 的列将作为主键和(默认情况下)聚集索引键。如果您是这种情况,那么您可能会进行聚集索引搜索。

SQL Server 索引是 B+ trees .

B Tree

SQL Server 将从索引根页开始,并沿着它向下定位行。在这种情况下读取的页数将是索引的深度。

如果不存在合适的索引,则 SQL Server 将需要读取表中的每一页。

最后还有一种可能是id被索引但是索引没有覆盖表中的所有列。在这种情况下,您可能会看到一个计划,其中包含索引查找,然后是书签/键查找,以检索 SELECT * 所需的缺失列值。

关于sql-server-2008 - SQL Server 使用什么样的搜索来获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15996584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com