第244天学习打卡(知识点回顾 索引)
2021/9/9 23:36:05
本文主要是介绍第244天学习打卡(知识点回顾 索引),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
知识点回顾
数据库 -------- 索引
索引本质数数据结构,排好序的快速查找数据结构,可以提高查找效率。数据分身之外,数据库还维护着一个满足特定查找算法的数据结构,这是数据结构可以在这些数据结构的基础上实现高级查找算法,这种数据结构就是索引
索引的分类
主键索引
单值索引 :一个索引只包含单个列,一个表可以有多个单列索引。如果字段会被经常用来检索就可以单值索引。
复合索引:一个索引包含多个列,如电话簿上姓 + 名字,最好不超过5个字段
唯一索引:所有列的值必须唯一,但是允许有空值。
普通索引和唯一索引可以称为辅助索引。
劣势:
实际上索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录,索引列也是要占用空间的。
虽然索引大大提高了查询的速度,但是会降低更新表的速度,如对表进行insert,update,delete。因为更新表示,Mysql不仅要保存数据,还要保存一下索引文件,每次更新添加了索引列的字段,都会调整因为更新所带来的键值变化后的索引信息。
索引只是提高效率的一个因素,如果Mysql有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询。
什么时候需要建立索引
主键自动建立唯一索引
频繁作为查询条件的字段应该创建索引
查询中与其他表关联的字段,外键关系建立索引
频繁更新的字段不适合创建索引,因为每次更新不单单是更新了记录还会更新索引
where条件里用不到的字段不创建索引
单键/组合索引的选择问题,在高并发倾向创建组合索引
查询中排序的字段,排序字段若通过索引去访问将大大提高排序速度
查询中统计或者分组字段(group by)
B站:尚硅谷Linux运维面试题(大厂linux面试题攻略)哔哩哔哩bilibili
这篇关于第244天学习打卡(知识点回顾 索引)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27消息中间件底层原理资料详解
- 2024-11-27RocketMQ底层原理资料详解:新手入门教程
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器