什么是索引?
索引是帮助MySQL高效获取数据的数据结构。索引的本质就是数据结构。索引的目的在于提高查询效率,可以类比图书的目录,根据目录中的页码快速找到所需的内容。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上。
索引的优点和缺点
- 优点
1)索引可以提高数据检索的效率,降低数据库的IO成本
2)索引可以将随机IO变成顺序IO
3)索引可以帮助服务器避免排序和创建临时表 - 缺点
1)虽然索引提高了查询的速度,同时也降低了更新表的速度,比如对表进行INSERT、UPDATE、DELETE。因为更新表时,Mysql不仅要保存数据,也要对索引文件进行保存。
2)索引需要占用磁盘,当表设置大量的索引时,索引文件需要占用的磁盘空间会更大。
3)对于非常小的表,大部分情况下简单的全表扫描更高效。
索引的原理
索引的本质就是通过不断的缩小想要获得数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是我们总是通过同一种查找方式来锁定数据。
数据库也是一样,但显然要复杂许多,因为不仅面临着等值查询,还有范围查询(>、
Original: https://www.cnblogs.com/DataBaker/p/15904575.html
Author: DataBaker
Title: MySQL索引原理(标贝科技)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/576836/
转载文章受原作者版权保护。转载请注明原作者出处!