设计索引.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计索引

设计索引 当 Microsoft? SQL Server? 2000 执行查询时,查询优化器会对可用的数据检索方法的成本进行评估,从中选用最有效的方法。SQL Server 可以扫描表,如果索引存在则使用索引。当 SQL Server 执行表扫描时,它从表的第一行开始逐行查找,将符合查询条件的行提取出来。当 SQL Server 使用索引时,它会查找查询所需的行的存储位置,并只提取出所需的行。 在考虑是否为一个列创建索引时,应考虑被索引的列是否以及如何用于查询中。索引对下列查询很有帮助: 有哪些信誉好的足球投注网站符合特定有哪些信誉好的足球投注网站关键字值的行(精确匹配查询)。精确匹配比较是指查询使用 WHERE 语句指定具有给定值的列条目。例如: WHERE emp_id = VPA30890F 有哪些信誉好的足球投注网站其有哪些信誉好的足球投注网站关键字值为范围值的行(范围查询)。范围查询是指查询指定其值介于两个值之间的任何条目。例如: WHERE job_lvl BETWEEN 9 and 12 或 WHERE job_lvl = 9 and job_lvl = 12 在表 T1 中有哪些信誉好的足球投注网站根据联接谓词与表 T2 中的某个行匹配的行(索引嵌套循环联接)。 在不进行显式排序操作的情况下产生经排序的查询输出,尤其是经排序的动态游标。 在不进行显式排序操作的情况下,按一种有序的顺序对行进行扫描,以允许基于顺序的操作,如合并联接和流聚合。 以优于表扫描的性能对表中所有的行进行扫描,性能提高是由于减少了要扫描的列集和数据总量(该查询有覆盖索引可供使用)。 有哪些信誉好的足球投注网站插入和更新操作中重复的新有哪些信誉好的足球投注网站关键字值,以实施 PRIMARY KEY 和 UNIQUE 约束。 有哪些信誉好的足球投注网站已定义了 FOREIGN KEY 约束的两个表之间匹配的行。 使用 LIKE 比较进行查询时,如果模式以特定字符串如abc%开头,使用索引则会提高效率;如果模式以通配符如%xyz开头,则索引不起作用。 在很多查询中,索引可以带来多方面的好处。例如,索引除了提供对单一行的快速访问外,还使得可以进行范围查询。SQL Server 可以在同一个查询中为一个表使用多个索引,并可以合并多个索引(使用联接算法),以便有哪些信誉好的足球投注网站关键字共同覆盖一个查询。另外,SQL Server 会自动确定利用哪些索引进行查询,并且能够在表被改动时确保该表的所有索引都得到维护。 其它索引设计准则 设计索引时还要考虑的其它准则包括: 一个表如果建有大量索引会影响 INSERT、UPDATE 和 DELETE 语句的性能,因为在表中的数据更改时,所有索引都须进行适当的调整。另一方面,对于不需要修改数据的查询(SELECT 语句),大量索引有助于提高性能,因为 SQL Server 有更多的索引可供选择,以便确定以最快速度访问数据的最佳方法。 覆盖的查询可以提高性能。覆盖的查询是指查询中所有指定的列都包含在同一个索引中。例如,如果在一个表的 a、b 和 c 列上创建了组合索引,则从该表中检索 a 和 b 列的查询被视为覆盖的查询。创建覆盖一个查询的索引可以提高性能,因为该查询的所有数据都包含在索引自身当中;检索数据时只需引用表的索引页,不必引用数据页,因而减少了 I/O 总量。尽管给索引添加列以覆盖查询可以提高性能,但在索引中额外维护更多的列会产生更新和存储成本。 对小型表进行索引可能不会产生优化效果,因为 SQL Server 在遍历索引以有哪些信誉好的足球投注网站数据时,花费的时间可能会比简单的表扫描还长。 应使用 SQL 事件探查器和索引优化向导帮助分析查询,确定要创建的索引。为数据库及其工作负荷选择正确的索引是非常复杂的,需要在查询速度和更新成本之间取得平衡。窄索引(有哪些信誉好的足球投注网站关键字中只有很少的列的索引)需要的磁盘空间和维护开销都更少。而另一方面,宽索引可以覆盖更多的查询。确定正确的索引集没有简便的规则。经验丰富的数据库管理员常常能够设计出很好的索引集,但是,即使对于不特别复杂的数据库和工作负荷来说,这项任务也十分复杂、费时和易于出错。可以使用索引优化向导使这项任务自动化。有关更多信息,请参见索引优化向导。 可以在视图上指定索引。有关更多信息,请参见设计索引视图。 可以在计算列上指定索引。有关更多信息,请参见在计算列上创建索引。 索引的特征 在确定某一索引适合某一查询之后,可以自定义最适合具体情况的索引类型。索引特征包括: 聚集还是非聚集 唯一还是不唯一 单列还是多列 索引中的列顺序为升序还是降序 覆盖还是非覆盖 还可以自定义索引的初始存储特征,通过设置填充因子优化其维护,并使用文件和文件组自定义其位置以优化性能。

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档