什么是DB的索引?

分享人:韩亚博

1.背景介绍

2.知识剖析

3.常见问题

4.编码实战

5.扩展思考

6.参考文献

7.更多讨论

1.背景介绍

什么是DB的索引?

索引是对数据库表中一个或多个列的值进行排序的结构。

SELECT * FROM student_info WHERE name='Jesus'

没有索引的情况下,搜索每一行数据,确认姓名是否是Jesus,全表扫描,耗时久

2.知识剖析

2.1索引的原理

简单理解:字典中有偏旁部首查找,拼音查找,笔画查找(分别都是索引)。按照一定的规则将部分特征排布好,并和数据所在的标识连接起来

索引是一种数据结构,常见的有平衡树、哈希桶。

2.2索引存储的是什么?

索引存储了指向表中某一行的指针

2.3以字典为例,说下优缺点

3.常见问题

什么情况下需要对该字段建立索引?(反之)

如果表中某列在查询过程中使用的非常频繁,那就在该列上创建索引。

对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,增加索引,反而降低了系统的维护速度和增大了空间需求。

4.编码实战

演示:1000-100w建立索引耗时,有无索引查询/插入耗时

5.扩展思考

多大的数据量下建索引会有性能的差别?

没有一个固定的标准

1.表格数据查询和增删改的频繁程度

2.表格的插入数据的频繁程度

3.表格的数据字段多少

6.参考文献

https://blog.csdn.net/weiliangliang111/article/details/51333169

https://blog.csdn.net/miracleww/article/details/53352738

https://www.cnblogs.com/gym333/p/6877023.html

7.更多讨论

分享到此结束

欢迎大家讨论