【数据库】索引和视图

本文详细介绍了数据库中的索引和视图。索引能够显著提高查询效率,分为聚集索引和非聚集索引,但会占用额外的存储空间且在数据频繁变更时需要维护。视图则是查询结果的保存,作为虚拟表存在,不存储数据,使用时动态执行内部SELECT命令,简化查询并提供数据安全性。
摘要由CSDN通过智能技术生成

索引 index

什么是索引

如学生花名册,默认是学生有序的,今天的新申请的QQ号数字比以前申请的要大。如此,这些数据有序的,主要目的是方便以后查询。数据表事先按要查询的关键字列索引后,以后要查询时可以使用二分查找—折半法。

如我们经常按用户ID号或用户名登陆等操作,可以对数据原表建立一个附属的文件,保存查询依据的记录顺序。但这样做要增加额外的存储空间,增加数据的复杂度,但最大好处是提高查询效率。 从顺序查找的n/2 降到log2(n)

引例:如有学生表

隐藏的记录号 学号 姓名 身高
1 01 张三 175
2 02 李四 165
3 05 张六 181
4 04 陈东 166
5 03 艾化 178

如果学生进入系统,按学号登陆,学号无序,只能顺序查找,如果有n 个学生,每个学生登陆时平均表中查找次数 n/2次.

如果事先针对学号列建立索引(按学生排列的每个记录的位置,出场顺序记录下来):Index_xh 又可按姓名建立索引 index_xm

index_xh index_xm
01 ->1 艾化->5
02->2 陈东-> 4
03->5 李四->2
04 ->4 张六->3
05->3 张三->1

可见,如果有了索引后,变顺序查找为二分查找,有N个记录,平均查找次数从n/2降到 log2(n)。如对100万个记录中数据查找,平均查找次从50万降到20次。

索引的缺点:增加存储空间(但比把原表复制成一个有序的新表空间开销少),数据复杂度,如果物理表中的数据,特别是索引关键字经常变动,经常增删,必须要重新索引一次,对海量的数据来说,重新索引一次是很耗费资源。所以索引,并不适合经常增删改关键字的表。如学校教务处的学生表可以建立索引;对贴吧里的贴子表不适合建立索引.

索引分类

聚集索引 (clustered index)

把数据按索引项的顺序进行物理排序。要生成一个新表,完全打

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhugenmi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值