表的索引与字典中的索引非常相似。它可以极大地提高查询的速度。对一个较大的表来说,通过加索引,一个通常要花费几个小时来完成的查询只要几分钟就可以完成。(对于包含索引的数据库,SQL Sever需要一个可观的额外空间。例如,要建立一个聚簇索引,需要大约1.2倍于数据大小的空间。速度是需要付出代价的。)

索引有两种类型:聚簇索引和非聚簇索引。

  • 在聚簇索引中,索引树的叶级页包含实际的数据:记录的索引顺序与物理顺序相同。
  • 在非聚簇索引中,叶级页指向表中的记录:记录的物理顺序与逻辑顺序没有必然的联系。
    聚簇索引非常象目录表,目录表的顺序与实际的页码顺序是一致的。非聚簇索引则更象书的标准索引表,索引表中的顺序通常与实际的页码顺序是不一致的。一本书也许有多个索引。例如,它也许同时有主题索引和作者索引。同样,一个表可以有多个非聚簇索引。通常情况下,你使用的是聚簇索引,但是你应该对两种类型索引的优缺点都有所理解。
  • 每个表只能有一个聚簇索引,因为一个表中的记录只能以一种物理顺序存放。通常你要对一个表按照标识字段建立聚簇索引。但是,你也可以对其它类型的字段建立聚簇索引,如字符型,数值型和日期时间型字段。
    从建立了聚簇索引的表中取出数据要比建立了非聚簇索引的表快。当你需要取出一定范围内的数据时,用聚簇索引也比用非聚簇索引好。例如,假设你用一个表来记录访问者在你网点上的活动。如果你想取出在一定时间段内的登录信息,你应该对这个表的DATETIME型字段建立聚簇索引。
  • 对聚簇索引的主要限制是每个表只能建立一个聚簇索引。但是,一个表可以有不止一个非聚簇索引。实际上,对每个表你最多可以建立249个非聚簇索引。你也可以对一个表同时建立聚簇索引和非聚簇索引。
    假如你不仅想根据日期,而且想根据用户名从你的网点活动日志中取数据。在这种情况下,同时建立一个聚簇索引和非聚簇索引是有效的。你可以对日期时间字段建立聚簇索引,对用户名字段建立非聚簇索引。如果你发现你需要更多的索引方式,你可以增加更多的非聚簇索引。
  • 非聚簇索引需要大量的硬盘空间和内存。另外,虽然非聚簇索引可以提高从表中 取数据的速度,它也会降低向表中插入和更新数据的速度。每当你改变了一个建立了非聚簇索引的表中的数据时,必须同时更新索引。因此你对一个表建立非聚簇索引时要慎重考虑。如果你预计一个表需要频繁地更新数据,那么不要对它建立太多非聚簇索引。另外,如果硬盘和内存空间有限,也应该限制使用非聚簇索引的数量。

SQL 问题与解答:轻松掌握索引 http://technet.microsoft.com/zh-cn/magazine/gg703775.aspx

SQL 问题与解答:维护日志和索引:http://technet.microsoft.com/zh-cn/magazine/gg132708.aspx

SQL Sever索引相关推荐

  1. sql sever 索引和视图

    文章目录 一.索引 二.视图 提示:以下是本篇文章正文内容,下面案例可供参考 一.索引 索引:是用来提高检索查询效率的 sql sever索引类型: 按存储结构划分: (1)聚集索引: 根据数据行的键 ...

  2. SQL 创建索引的作用以及如何创建索引

    SQL 创建索引的作用以及如何创建索引 SQL 创建索引的作用 一.使用索引的优点: 1.通过唯一性索引(unique)可确保数据的唯一性 2.加快数据的检索速度 3.加快表之间的连接 4.减少分组和 ...

  3. sql sever 2008基础知识

    下面是一些总结,如果执行时发现错误,可以查看错误消息进行解决,也可上网查资料 数据库的组成: 主数据文件:有且只有一个,扩展名为.mdf. 次数据文件:可以没有,也可以有任意个.扩展名为.ndf. 日 ...

  4. !!!SQL sever 函数表达

    --SQL sever语言 数据库 函数 --声明变量 declare @a varchar(20) set @a = 'svdaj' --或 select @a = 'svdaj' print @a ...

  5. SQL Sever 2012

    SQL Sever 2012[未完待续] 文章目录 SQL Sever 2012[未完待续] 数据库组成 系统数据库 创建数据库的方法 数据库常用对象 表 字段(表中的列) 字段(列)的数据类型[*重 ...

  6. SQL Sever 创建与管理数据表

    目录 一.创建数据表 1.使用SQL Sever Management Studio创建数据表 2.使用CREATE TABLE语句创建数据库 二.管理数据表 1.查看表结构 1.1查看数据表的属性 ...

  7. (一)初识 SQL Sever 2019

    目录 一.SQL Sever 简介 二.系统数据库 1.master 2.msdb 3.tempdb 4.model 三.用户数据库 一.SQL Sever 简介 数据库通常分为层次式数库.网络式数据 ...

  8. SQL Sever 2008 R2 数据库(2) ——数据库管理

    在FJ集团的工作中,要用到SQL Sever 2008 R2 数据库,于是,在工作中学习,在学习中工作.我就喜欢这种状态!中意做笔记,好记性不如烂笔头,方便自己,同时也方便在此方面有需要者!资源共享, ...

  9. SQL Server 索引结构及其使用(二)(转)

    SQL Server 索引结构及其使用(二) 作者:freedk 一.深入浅出理解索引结构 改善SQL语句 很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被 ...

最新文章

  1. 青源 LIVE 预告 | 复旦大学:NLP 的范式迁移
  2. 根据根据图片的url怎么取得图片ImageView对象
  3. 如何用 SpringBoot 实现并发登录人数控制(附代码)
  4. python中的列表生成式
  5. firewall mysql端口_Centos7 firewall开放3306端口
  6. oracle视图不能创建,ORACLEsoctt不能创建视图
  7. 生肖派对怎么放机器人_抖音生肖派对游戏
  8. NGUI_Atlas
  9. 中英文对照 —— 几何(数学)
  10. EXCEL VBAProject密码破解 工作表密码破解
  11. 重订增广(清朝·周希陶)
  12. 锐捷客户端的默认网关跟ipv4的网关不一样
  13. matlab有限差分一维导热,一维导热方程-有限差分法-matlab实现(汇编)
  14. 1982年图灵奖--斯蒂芬·库克简介
  15. Linux搭建小型服务器——文件共享以及邮件服务器
  16. 联想服务器装系统不能加载硬盘,联想电脑重装系统读不出硬盘怎么办
  17. 计算机一级表格减法,怎么把表格的数字全部加减
  18. 电源电路设计常用软件,哪个适合你的应用?
  19. 数据库课程设计个人总结
  20. 如何用纯 CSS 创作闪闪发光的霓虹灯文字

热门文章

  1. 调制优缺点_复合铝基润滑脂和普通润滑脂的区别,复合铝基脂有什么优缺点
  2. 3704对象关闭时_JVM 通过逃逸分析就能让对象在栈上分配?没那么简单!
  3. SPOJ Supernumbers in a permutation(LIS)
  4. Oracle day05 索引_数据去重
  5. fiddler 之 返回数据乱码解决方法
  6. 【Oracle】如何在查询视图时使用索引
  7. Sprint Three 回顾与总结发表评论团队贡献分
  8. 在大数据时代,我们需要数据售货员
  9. Minimum Depth of Binary Tree
  10. winform下载网页源码