mysql性能优化—重复索引与冗余索引

2018-03-23  本文已影响0人  rightchen

重复索引

是指在同一个列或者顺序相同的几个列建立了多个索引,称之为重复索引。比如在文章表中,给主键(primary key)aid另增加了唯一索引(unique index)。或者文章标题title和作者author已经形成了一个联合索引,再去给title而外新增一个索引。重复的索引对数据检索没提供帮助,只会增大索引文件,对于insert、update、delete操作时,还要额外的维护索引文件,拖慢更新速度。这样的重复索引应该优化掉。

冗余索引

是指在一个表中,多个索引覆盖的列有重叠,称之为冗余索引。区别与重复索引,比如在文章表中,文章名称title和作者author已经形成了联合索引,同时新增了作者author和文章名称title形成的联合索引。这样在单独查询文章名称、单独查询作者、根据文章名称找作者、根据作者找文章时,分别会用到这两个联合索引,提升查询效率。

总结:任何索引的增加,都会使索引文件增大,拖慢数据库的更新速度。但是从查询性能角度来看,重复索引是mysql数据库优化中不提倡的,冗余索引虽然也增大了索引文件的体积,但是对于查询检索来讲,无疑是正向的操作。冗余索引的增加,也是mysql的空间换时间的优化原则。

索引的优化需要在实际工作当中不断的去优化。

上一篇下一篇

猜你喜欢

热点阅读