数据库索引概述

数据库索引概述,第1张

索引是数据库的一列或者多列的数据和物理地址的集合。


索引用B+树进行存储,索引是真实存在的,会占用磁盘的位置,但是索引的出现会加快数据查询的速度。



属于空间换取时间的优化方式。



因此当数据表的数据很多的时候,建立索引是个比较好的选择。


索引按照功能分为:普通索引,全文索引,主键索引,唯一性索引
按照物理实现可分为聚集索引和非聚集索引
按照作用键的多少分为:单键索引和联合索引

指定主键会自动建立主键索引
指定唯一性约束也会自动会有唯一性索引。


适合使用索引的场景:
数据表中数据量大,查询量也大,需要优化查询速度,这是基本前提
(1)在经常使用where过滤的时候,建立索引
(2)学会建立主键索引(mysql指定主键后,就会自动有主键索引)
(3)对于经常做两表连接 *** 作的键,要建立索引,来加快两表连接的速度
(4)在经常范围查询的时候,可以建立索引。


因为索引是排序的,这样做范围查询,效率非常高
(5)对于经常查询的列要做普通索引,加快数据查询的速度

只有数据量大,查询量大才能建立索引,不然都是牛刀杀鸡,都是徒劳。


不适合使用索引的场景:
(1)数据表的数据量不大(这样查询优化不了多少,反而增加了索引的储存空间)
(2)数据表经常做增删改的 *** 作(因为改动数据势必也要改变索引,会消耗多余的时间)
(3)对于数据不经常查询的列,也不必要建立索引
(4)对于数据取值很少的列(举个例子:性别 不是男就是女)建立索引没啥意义
(5)对于文本,img jpg 等占位比较大的数据列也不必建立索引。


因为索引的储存空间也很大。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/567763.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存