设计良好的索引可以减少磁盘 I/O 操作,并且消耗的系统资源也较少,从而可以提高查询性能。对于包含 SELECT、UPDATE 或 DELETE 语句的各种查询,索引会很有用。例如,在AdventureWorks数据库中执行的查询SELECT
Title, HireDate FROM HumanResources.Employee WHERE EmployeeID = 250
。执行此查询时,查询优化器评估可用于检索数据的每个方法,然后选择最有效的方法。可能采用的方法包括扫描表和扫描一个或多个索引(如果有)。
扫描表时,查询优化器读取表中的所有行,并提取满足查询条件的行。扫描表会有许多磁盘 I/O 操作,并占用大量资源。但是,如果查询的结果集是占表中较高百分比的行,扫描表会是最为有效的方法。
查询优化器使用索引时,搜索索引键列,查找到查询所需行的存储位置,然后从该位置提取匹配行。通常,搜索索引比搜索表要快很多,因为索引与表不同,一般每行包含的列非常少,且行遵循排序顺序。
查询优化器在执行查询时通常会选择最有效的方法。但如果没有索引,则查询优化器必须扫描表。您的任务是设计并创建最适合您的环境的索引,以便查询优化器可以从多个有效的索引中选择。SQL Server 2005 提供的数据库引擎优化顾问可以帮助分析数据库环境并选择适当的索引。
相关推荐
整理了一下郭红俊大哥的关于SQL索引的10篇基础知识,转为PDF文1.记录数据的基本格式 2.聚集索引,非聚集索引 3.测试中一些常看的指标和清除缓存的方法 4.主键与聚集索引 5.理解newid()和newsequentialid() 6.索引的...
搜索引擎-倒排索引基础知识
SQLServer索引基础知识.pdf
SQLServer索引基础知识----聚集索引,非聚集索引[归纳].pdf
SQLServer索引基础知识[整理].pdf
由于需要给同事培训数据库的索引知识,就收集整理了这个系列的博客。发表在这里,也是对索引知识的一个总结回顾吧。...所以理解数据页是最最基础的知识点,本篇博客就介绍跟索引有关的数据页的一些基础知识。
自己制作的pdf,目录包括如下: <br>记录数据的基本格式 3 聚集索引,非聚集索引 8 测试中常看指标和清除缓存方法 15 主键与聚集索引 18 理解newid()和newsequentialid() 20 索引的代价,使用场景 ...
Java基础知识索引,java详细的基础知识介绍,对参加java笔试面试的应届生大有裨益。
基础知识(广播电视基础知识论述题-索引).pdf
solr索引服务基础知识[收集].pdf
Python基础知识详解 从入门到精通 全集索引篇 为方便查看需要的文章,本人将在这里存放我学习python过程中整理的博客的链接 目前仍在更新中 基础 Python基础知识详解 从入门到精通(一)介绍 Python基础知识详解 从...
NULL 博文链接:https://java-mzd.iteye.com/blog/1175934
掌握MongoDB基础知识对于开发人员来说具有重要的作用。MongoDB是一个流行的NoSQL数据库,它以高性能、可扩展性和灵活性而著称。在开发应用程序时,无论是Web应用程序、移动应用程序还是后端服务,都需要一个高效的...
用于MATLAB初学者熟悉MATLAB的各项功能
MySQL学习笔记,包括SQL基本语法、MySQL基础知识,包括存储引擎、索引、视图、锁、优化、存储结构等MySQL主要的内容。
对索引器基础知识讲解以后还有 分4部分
都是一些常见的 mysql 面试题,包括数据库基础知识、索引、事务等方面 都是一些常见的 mysql 面试题,包括数据库基础知识、索引、事务等方面 都是一些常见的 mysql 面试题,包括数据库基础知识、索引、事务等方面 都...