三、 索引
4. 索引的代价
前面几讲介绍了索引在提高性能方面的威力以及如何使用索引,但是索引也是有开销的1) 占用磁盘空间
如前面所述,索引是有开销的,表现在添加索引后.ibd文件(innodb引擎)或者.myi文件(myisam引擎)会变大。
2) 导致dml操作速度变慢
添加索引后之所以会快,是因为表依据索引对数据按某种算法(二叉树等)进行排序,所以删除、增加、插入后二叉树要重新排序,导致执行效率降低。
此时要看自己的数据库是dml语句执行的多还是dql语句执行的多
使用以下语句可以查询
查询一共执行了多少次select
show status like ‘com_select’查询一共执行了多少次insert
show status like ‘com_insert’以此类推
一般来说,dql语句操作比dml语句要多得多!接近9:1
既然索引有利有弊,那么怎样人为地控制索引的使用呢?
强制不使用索引
select xxx from table ignore index(index_xxx)
强制使用索引
select * from table force index(index_xxx)本讲结束,下一讲来讲一下如何正确地使用索引。
本文探讨了数据库索引的利弊,包括占用磁盘空间、影响DML操作速度及如何通过SQL语句强制控制索引的使用。通过实例讲解,帮助读者理解索引对数据库性能的影响。
2059

被折叠的 条评论
为什么被折叠?



