揭秘MySQL索引之缺点(MySQL索引缺点)
MySQL索引是数据库管理系统中的一个重要功能,它能在查询数据时快速地完成定位,减少查询数据时的时间消耗。它对于City字段起作用,也能更好地支持查询次数,提升查询效率。然而,它也有一定的缺点,影响了它的实用性。
首先,MySQL索引消耗空间,如果某个表存储的数据量非常大,应为太多的索引,会消耗大量的空间,这会拖慢读写的效率,缩短查询的速度。索引的存储空间会迅速增加,随着表的数据量的增加,因此,执行调优时要考虑到索引存储空间的影响。
其次,MySQL索引会增加增删改查的时间消耗。新建索引后,增加和修改操作时,MySQL也必须修改索引的数据,这会消耗更多的时间和资源。从Lucene的搜索引擎索引中可以看出,实际应用时,一般建议建立不到20个索引,因为超过这个数量的索引,会使更新操作变得困难,时间和空间的消耗量都会有所增加。
最后,MySQL索引只能为某一列或几列提供优化,它不能同时解决多列数据查询优化问题,多列间的逻辑关系可能不能得到最优的查询解决方案。前一种情况可以用创建组合索引实现,变全主键,
alter table table_name add index
(column1,column2,column3);
但是若某个表引用到其它表的信息,索引就无能为力了。
从技术角度来说,MySQL索引只是一项技术,它存在多个不利因素,比如空间消耗过多,更新操作消耗时间太多,以及仅支持简单的查询条件等。MySQL索引的使用,尤其是用了索引后的大表读写操作和查询操作,都要遵循一定规则,才能使一切顺利有效。