分享人:韩亚博
1.背景介绍
2.知识剖析
3.常见问题
4.编码实战
5.扩展思考
6.参考文献
7.更多讨论
什么是DB的索引?
索引是对数据库表中一个或多个列的值进行排序的结构。
SELECT * FROM student_info WHERE name='Jesus'
没有索引的情况下,搜索每一行数据,确认姓名是否是Jesus,全表扫描,耗时久
2.1索引的原理
简单理解:字典中有偏旁部首查找,拼音查找,笔画查找(分别都是索引)。按照一定的规则将部分特征排布好,并和数据所在的标识连接起来
索引是一种数据结构,常见的有平衡树、哈希桶。
2.2索引存储的是什么?
索引存储了指向表中某一行的指针
2.3以字典为例,说下优缺点
什么情况下需要对该字段建立索引?(反之)
如果表中某列在查询过程中使用的非常频繁,那就在该列上创建索引。
对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,增加索引,反而降低了系统的维护速度和增大了空间需求。
演示:1000-100w建立索引耗时,有无索引查询/插入耗时
多大的数据量下建索引会有性能的差别?
没有一个固定的标准
1.表格数据查询和增删改的频繁程度
2.表格的插入数据的频繁程度
3.表格的数据字段多少
https://blog.csdn.net/weiliangliang111/article/details/51333169
https://blog.csdn.net/miracleww/article/details/53352738
https://www.cnblogs.com/gym333/p/6877023.html
欢迎大家讨论