国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 数据库 > 数据库应用 > 数据库调优教程(七)索引的代价

数据库调优教程(七)索引的代价

来源:程序员人生   发布时间:2015-04-27 08:19:41 阅读次数:2821次

3、           索引


4.      索引的代价

前面几讲介绍了索引在提高性能方面的威力和如何使用索引,但是索引也是有开消的

1)    占用磁盘空间

如前面所述,索引是有开消的,表现在添加索引后.ibd文件(innodb引擎)或.myi文件(myisam引擎)会变大。


2)    致使dml操作速度变慢

添加索引后之所以会快,是由于表根据索引对数据按某种算法(2叉树等)进行排序,所以删除、增加、插入后2叉树要重新排序,致使履行效力下降。

 

此时要看自己的数据库是dml语句履行的多还是dql语句履行的多

使用以下语句可以查询

 

查询1共履行了多少次select

show status like ‘com_select’

查询1共履行了多少次insert

show status like ‘com_insert’

以此类推

 

1般来讲,dql语句操作比dml语句要多很多!接近9:1

 

既然索引有益有弊,那末怎样人为地控制索引的使用呢?

强迫不使用索引

select xxx from table ignore index(index_xxx)

强迫使用索引

select * from table force index(index_xxx)


本讲结束,下1讲来说1下如何正确地使用索引。

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生