网页前端后台技巧(CSS+HTML)PHP开发

MySQL索引详解之索引的利弊以及高效使用

2020-04-10  本文已影响0人  X先生说

前言

很多人对数据库索引可能都是知其然却不知其所以然,对索引没有很深入的理解,在使用过程中也一知半解,导致没有办法准确高效地使用索引,甚至存在不少误用的情况,导致使用索引反而降低了系统的性能。下面就以MySQL索引为对象,通过几篇文章来带大家好好的学习下索引的知识。

索引的数据结构
索引的存储方式
索引的利弊以及高效使用

索引利弊

在前面的文章,我们学习了索引的数据结构和存储方式,下面再来理解索引的利弊也就能更加容易和清晰了。

索引的好处

a、提高数据检索的效率,降低检索过程中必须要读取得数据量,降低数据库IO成本。
b、降低数据库的排序成本。因为索引就是对字段数据进行排序后存储的,如果待排序的字段与索引键字段一致,就在取出数据后不用再次排序了,因为通过索引取得的数据已满足排序要求。另外,分组操作是先排序后分组,所以索引同样可以省略分组的排序操作,降低内存与CPU资源的消耗。
c、唯一性索引可以在数据库层面保证表中数据的唯一性。

索引的弊端

a、索引会增加 增、删、改操作所带来的IO量与调整索引的计算量。
b、索引要占用空间,随着数据量的不断增大,索引还会带来存储空间的消耗。

接下来我们再来看下如何高效的使用B+索引

索引高效使用

如何正确建立索引列

适合建立索引的列有以下特点:

不应该创建索引的的列具有下列特点:

如何使用好索引

使用规则

索引失效
在下列情况下,索引会失效导致全表扫描,因此我们要尽量避免以下情况出现。

参考资料

《高性能MySQL》
https://blog.csdn.net/apt1203JN/article/details/79587593
https://blog.csdn.net/zk3326312/java/article/details/79377680
https://www.cnblogs.com/shan1393/p/8999622.html

Enjoy it !

如果觉得文章对你有用,可以赞助我喝杯咖啡~

版权声明

转载请注明作者和文章出处
作者: X先生
首发于https://www.jianshu.com/p/e916076920ef

上一篇下一篇

猜你喜欢

热点阅读