首页 / 知识
关于sql:什么是涵盖索引?
2023-04-15 07:34:00

What is a Covered Index?我刚刚在一些数据库讨论中听到了术语"涵盖索引"-这是什么意思? 覆盖索引是包含查询所需要的所有列的索引,并且可能包含更多的列。 例如,这:
通常将使用索引来加快使用条件检索哪些行的分辨率,但是随后它将转到完整表以检索行。 但是,如果索引包含列column1,column2和column3,则此sql:
并且,如果可以使用特定的索引来加快要检索的行的解析度,那么该索引已经包含了您感兴趣的列的值,因此它不必转到表来检索行,但可以直接从索引产生结果。 如果您看到典型查询使用1-2列来解析哪些行,然后通常添加另外1-2列,则也可以使用此方法,最好追加那些额外的列(如果它们在整个过程中都是相同的)添加到索引,以便查询处理器可以从索引本身获取所有内容。 这是一篇文章:索引覆盖可提高该主题上的SQL Server查询性能。 覆盖指数只是普通指数。如果它可以满足查询而无需分析数据,则称为"覆盖"。 例:
这是从SQL Server检索数据的最快方法之一。 假设您有一个包含以下各列的简单表,但这里仅索引了ID:
想象一下,您必须运行以下查询,并检查其查询是否使用索引,以及是否在没有I / O调用的情况下有效执行。请记住,您仅在
当您检查此查询的性能时,您会感到失望,因为未索引
要使其成为覆盖索引,您需要在
有关更多详细信息,请参阅此博客: 覆盖索引是指"覆盖"特定表所需的所有列,从而完全无需为给定查询/操作访问物理表的索引。 由于索引包含所需的列(或它们的超集),因此可以使用索引查找或扫描来替换表访问,这通常要快得多。 涵盖的列:
尽管覆盖索引通常可以为检索提供很好的好处,但是它们确实增加了一些插入/更新开销。由于需要在每次更新时写入额外或较大的索引行。 联接查询的覆盖索引 覆盖索引作为连接查询的一种性能技术可能最有价值。这是因为联接查询比单表检索更昂贵且更有可能遭受高成本性能问题。
例如:
看到:
|
最新内容
相关内容
linux查询ip命令?
linux查询ip命令?,地址,网络,信息,设备,系统,电脑,终端,命令,中心,技术指标,linux查询ip地址命令1、输入以下命令:ipaddrshow。每个设备的IP地linux日志命令查询?
linux日志命令查询?,系统,名称,信息,实时,电脑,对比,最新,日志,命令,环境,Linux系统日志怎么查看1、less /var/log/syslog 该命令会打开 /var/linux文本查询命令?
linux文本查询命令?,标准,命令,文件,工具,数据,信息,位置,系统,内容,文本,Linux下Grep命令的详细使用方法?1、查找root目录下包含Linux的文件,查询linux的命令历史?
查询linux的命令历史?,信息,系统,名称,地址,服务,命令,数据,环境,指令,用户,请问linux的history指令如何显示全部的历史记录在Linux服务器上,可linux线程查询命令?
linux线程查询命令?,系统,第一,线程,命令,软件,名称,信息,进程,选项,方法,Linux系统如何查看进程的线程数1、第一种方法:top命令法首先执行toplinux命令左右查询?
linux命令左右查询?,系统,信息,管理,地址,工作,命令,文件,单位,位置,数据,linux查看路径命令1、linux命令如果记不得,可以使用man命令来查看某linux简单查询命令?
linux简单查询命令?,地址,命令,信息,设备,电脑,系统,工作,文件,终端,内容,Linux下查看文件命令选择1、查看文件的命令,主要就是用 cat命令, cat+查询linux配置的命令?
查询linux配置的命令?,系统,网络,地址,情况,信息,电脑,中科,状态,服务,命令,在linux下如何通过命令查网卡配置1、linux查看系统网卡信息的命令查询linux配置的命令?
查询linux配置的命令?,系统,网络,地址,情况,信息,电脑,中科,状态,服务,命令,在linux下如何通过命令查网卡配置1、linux查看系统网卡信息的命令linux命令查询时间?
linux命令查询时间?,时间,系统,状态,信息,数据,标准,地址,平台,环境,命令,在windws下模拟Linux下可获取命令执行时间的time命令time命令可以查linux查询翻页命令?
linux查询翻页命令?,工作,地址,系统,信息,命令,工具,目录,管理,暂停,标准,Linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目查询linux上调度命令?
查询linux上调度命令?,系统,策略,实时,信息,状态,时间,进程,电脑,报告,分析,Linux中如何启动进程?进程调度命令有哪些?1、实现调度启动进程的