经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MS SQL Server » 查看文章
1、索引的概念和分类
来源:cnblogs  作者:拭不去の泪痕  时间:2019/8/2 8:46:01  对本文有异议

1、什么是索引

答: 索引是对数据库表中的一列或者多列的数据进行排序的一种结构,使用索引可快速访问数据表中的特定信息。

比如中国移动里边的表数据可能达到上亿,这样查询数据用索引就派上了用场,因为使用索引可以快速检索数据。          

 

2、索引的分类

答:

   <1>从物理结构上 分为两类:聚集索引和非聚集索引。

  聚集索引是指 索引的键值的逻辑顺序决定了表中相应行的物理顺序。

注意:一个表中只能有一个聚集索引。

比如 一个学生表有两列:姓名和班级。那他的索引顺序对应着表的顺序。

他的使用范围是:

  1)范围查询:使用运算符(如between、>、<=等),返回一系列的值

      2)查询连续的值:如一月份的数据、二月份的数据

      3)返回大型结果集:注意,通过索引检索的数据一般控制在表中总量的20%以下, 因为当索引数据量过大时,那么系统将不会使用该索引。

      4)在order by或group by子句中指定的列

 

非聚集索引:非聚集索引通过索引记录地址访问表中的数据。索引的逻辑顺序和表中行的物理存储顺序不同。

 

 

 

注意:一个表中可以有多个非聚集索引。

他的适用情况是:

(1)使用join或者group by的子句

(2)不返回大型结果集的查询

(3)经常包含在查询的搜索条件(例如返回完全匹配的where子句)中的列。

 

   <2>从应用上分 ,分为  主键索引、唯一索引、全文索引和组合索引。

        1)主键索引:当为一个表创建主键的时候,Sql Server会自动为主键列创建一个索引,并且该索引是聚集索引。

        2)唯一索引:唯一索引可以是聚集索引,也可以是非聚集索引。他要求 在唯一索引所限制的列中,不允许有重复的键值。并且具有唯一约束的列,Sql Server会自动的给他创建一个唯一索引。

        3)组合索引:表示这个索引的索引列可以有多个。比如学生成绩表中,我们可以把学生ID和考试科目ID合在一起建立索引,他的使用情况是 多个列经常在一起作为查询条件。

4)全文索引:他是一种特性类型的基于标记的功能性索引。一般情况下,为Sql Server中的文本数据创建索引。

全文索引主要用于在大量文本文字中搜索字符串,我们知道检索字符串用T-SQL的like关键字,但是在大量文本中使用like关键字效率远远低于全文索引。

 

原文链接:http://www.cnblogs.com/schangxiang/p/11272799.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号