文章主要描述的是SQL Server索引设计指南( Index Design Guidelines),SQL Server数据库的索引对用户与T-SQL开发者来说几乎可以说是透明的。除非用户使用表提示(table hints)来强制优化器使用某个具体的索引,否则查询中的索引不能被具体指定。
通常情况下,基于索引键直方图的值,SQL Server的基于代价的优化器从I/O角度会选择代价最小的索引。
Chapter35会详细讲述优化器如何评估I/O,并决定采用最有效的查询计划。本节主要讲述一些创建有用索引的主要的指导原则,使得优化器能够有效地使用这些索引。
设计索引的一些通用的指南包括以下几点:
对于组合索引,尽量保持索引的越靠左边的列越具有高的选择性。索引中的之一列应该更具有唯一性(假如可能),并且索引列的顺序总体上应该具有从高到低的唯一性。然而,记住假如索引的之一列没有在SARG或join子句中出现,那么选择性将不会有任何帮助。为了确保索引能够被大多数查询使用,之一列应该是查询中最常用的列。
确保join中使用的列具有索引。假如join中的列上没有索引,Join的处理将是低效的。记住:一个PRIMARY KEY约束将自动会在一个列上创建索引,但是FOREIGN KEY约束不会的。假如你的查询通常在表的primary Key 和foreign key之间进行join操作,那么你将会在foreign key上创建索引。
为你的最关键查询和事务来调整索引。你不能为每个可能的查询都创建索引。然而,假如你能识别你的关键和最常用的查询,并为它们创建索引,那么你的应用将运行地更好。SQL Profile是一个识别你的最常用查询的有用工具。SQL Profie也能识别那些运行慢的查询。
避免列上的索引具有低选择性。优化器将不可能使用这些索引,它们只是占有些空间并且在插入、删除、修改时增加了以一些不必的负担而已。当索引能覆盖一个查询则是一个例外。索引覆盖将在后面详细介绍。
小心选择你的聚集和非聚集索引。接下来的两个小节将讨论给出一些选择聚集和非聚集索引的技巧和指南。这些都基于对列上包含的数据和该列上所执行的查询类型来给出的。
以上的相关内容就是对SQL Server索引设计指南( Index Design Guidelines的介绍,望你能有所收获。

上述的相关内容就是对SQL Server索引设计指南( Index Design Guidelines)的描述,希望会给你带来一些帮助在此方面。
扫描二维码推送至手机访问。
版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。
有些使用本本的朋友可能会发现,右下角通知栏区域会无法显示电源按钮,导致在插上电源或者是使用电池的时候都无法进行区分。造成这种情况大部分都是因为使用了第三方修改过的系统版本或者对于系统优化过度,所以今天就来解决这个问题。 第一步:在开始菜单的搜索窗口输入“gpedit.msc”,进入组策略编辑器,依...
我一个朋友最近装装了Windows 7,他总感觉有人用了他的电脑,但是一直不确定,他想知道有没有人动用他的电脑,问我有没有办法 我说设置一下就行了: 启动Windows 7,在搜索栏中输入编辑组,马上就搜索到了编辑组策略,点击即可启动程序编辑组策略。依次展开组策略左侧树形列表的计算机配置/管理模...
一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...
问题现象,具体如下所示: 故障分析: 一般来说,出现这种情况是因为电脑误删系统文件或者是系统文件被顽固木马破坏。 解决方法: 1、下载360安全卫士,找到里面的急救箱开始急救,然后进行修复,完成后重新启动; 2、下载瑞...
一、打开控制面板,选择“网络和共享中心”; 二、在网络和共享中心中选择“设置新的连接或网络”; 三、选择连接到Internet; 四、选择“仍要设置新的连接”; 五、选择“宽带PPPoE ”; 六、输入对应的宽带帐号及密码,点击连接即可;...
经常听见有人说用Windows 7玩网络游戏的时候网络延时比较高,也就是ping比平时xp的时候高一点,一直找不到原因,很苦恼。今天我们终于找到理由了,原来是Windows 7的一个服务在作怪,这个服务叫:Multimedia Class Scheduler,就是这个服务让我的PING如此高,问题是...