对SQL Server数据库中三种查找数据方案的比较

以下的文章主要向大家描述的是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数据库中三种查找数据方法的比较的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. SQL Server 2008数据库在实际应用中的独到之处
  2. SQL Server磁带备份设备的性能优化过程
  3. 实现SQL Server数据备份可用触发器
  4. 解决SQL Server数据库中附加数据库的出错问题
  5. SQL Server数据库中的9简单示例
THE END