以下的文章主要向大家描述的是SQL Server数据库中三种查找数据比较好用的方法比较,在SQL Server数据库中主要有以下的3种方法可以用来对数据进行查找,这三种方法分别是以下是:
表扫描(Table scan)
索引扫描(Index scan)
索引查找(Index seek)
Index seek中,SQL Server 沿着索引树(index tree)从根级(root level)向下进行索引键值匹配搜索,直到搜索到指定的行,然后使用存储在索引键值中的书签值(bookmark value)直接从数据页中检索匹配的数据行(这个书签值可以是行标识符(RID),或者聚集索引的键值)。
对一个索引扫描(Index scan),SQL Server搜索索引树中所有叶级(leaf level)中的行来进行可能匹配的查找。如果发现满足匹配的行,然后利用书签检索数据行。
***一种是表扫描,SQL Server数据库从数据表,可能是堆表(Heap Table)或者聚集索引的叶子页从头到尾进行扫描来查找数据。如果是数据表上已建立聚集索引,此时相当于索引扫描。
尽管前两者都使用了索引,从I/O代价角度来讲,索引扫描比索引查找的代价要高,但比表扫描(Table scan)要略微要小些。所以在实际中,尽量使用索引查找和索引扫描,而不要用表扫描。
上述的相关内容就是对SQL Server数据库中三种查找数据方法的比较的描述,希望会给你带来一些帮助在此方面。
【编辑推荐】