设为首页 加入收藏

TOP

数据库调优教程(七)索引的代价
2015-07-24 12:10:07 来源: 作者: 【 】 浏览:33
Tags:数据库 教程 索引 代价

三、 索引


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)


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

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇where1=-1and1=1会不会影响查询效.. 下一篇关于复合索引中的2个索引列谁在前..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: