数据库索引学习——概念理解

为什么需要创建索引?
 索引是为了用于快速找出在某个列中有某一特定值的行(说明:其实就是快速定位找到符合sql语句筛选条件列的值)。
 反问:不使用索引可不可以呢?
 答案:当然可以的,只不过到表总的数据量非常大的时候,查询就非常耗时了。
 反问:不创建索引耗时的原因是什么呢?
 答案:不使用索引,数据库查询表中的数据时,必须从   第1条  记录开始读完整个表,直到找到符合查询条件的行数据为止;
 试问 当表中数据量很大的时候,查询数据所花费的时间是不是就会越多,因此很耗时呀?

接下来会通过:索引的概念和特点,索引的分类,索引的设计原则 及索引的创建和删除 等几个方面进行介绍和学习。

索引的概念和特点
概念解读:索引是一个单独的,存储在磁盘上的数据结构,它们包含着对数据表里的所有记录
的引用指针(说明:说白了就是引用指针)。索引包含由表或视图中的一列或多列生成的键。
举个例子:
数据库某一表中有2万条记录,现在要执行如下查询语句:
SELECT *FROM Table WHERE Num=10000;
没有索引时候,必须遍历整张表去查询,直到Num=10000这行数据被找到为止;
如果在Num列上创建索引,则SQL Sever就不需要任何扫描,直接在索引里找到10000,就可以得知这一行数据的位置。
优点
(1)通过创建唯一索引,可以保证数据库表中每一行数据的唯一性(说明:创建索引就是创建引用指针,唯一指向某一行数据)。
(2)大大加快数据的查询速度,这是使用索引最关键的原因和好处。
(3)实现数据的参照完整性,可以加速表和表之间的连接。
(4)在使用分组和排序子句进行数据查询时,也可以显著减少查询中分组和排序的时间。
缺点
(1)创建索引和维护索引很耗时,而且随着数据量增加,所耗时间也会增加。
(2)索引需要占用磁盘空间,除了数据表占数据空间外,每个索引还要占一定的物理空间;如有大量索引,
   索引文件可能比数据文件更快达到最大文件尺寸。
(3)当表中数据进行增加,删除和修改的时候,索引也要动态地维护,这样就降低了数据的维护速度。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值