MySQL数据库性能分析与调优实践
一、MySQL索引

1、索引简介
索引是对数据库表中一列或多列的值进行排序的一种数据结构,好比是一本书前面的目录,可以增加对特定信息的查询速度。
一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中)。
1. 索引能极大地减少扫描行数
当我们要在新华字典里查某个字(如「先」)具体含义的时候,通常都会拿起一本新华字典来查,你可以先从头到尾查询每一页是否有「先」这个字,这样做(对应数据库中的全表扫描)确实能找到,但效率无疑是非常低下的,更高效的方法相信大家也都知道,就是在首页的索引里先查找「先」对应的页数,然后直接跳到相应的页面查找,这样查询时间大大减少了,可以是 O(1)。

数据库中的索引也是类似的,通过索引定位到要读取的页,大大减少了需要扫描的行数,能极大地提升效率。简而言之,索引主要有以下几个作用:
-
即上述所说,索引能极大地减少扫描行数。
-
索引可以帮助服务器避免排序和临时表。
-
索引可以将随机 IO 变
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
