码迷,mamicode.com
首页 > 数据库 > 详细

mysql的常用优化知识

时间:2015-11-06 19:25:38      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:

 

索引类型:主键索引,唯一索引,联合索引,普通索引,全文索引

1.  一个列上建立索引后,如果是以like查询,百分号在左边则利用不上索引。好比  select a from t where bb like ‘%hehe‘;这种情况,bb有索引也用不上。。

2.  如果利用or关键字的话,左右两边有一个字段没索引就利用不上。好比  select a from t where b=1 or c=2;这种情况,如果b或c有一个没建立索引,就用不上索引。

3.  group by 的时候默认会有个排序,排序很费性能,如果不必要的话,可以加上一句  order by null。这样好些。顺便order by 经常排序的字段加个索引也好多。

 (用不用上索引,可以通过explai sql进行查看。)

4.  一个字段的数据类型,能满足业务要求的情况下,越小越好。。比如ENUM的使用比varchar好多。

5.  在财务系统或者金钱上,小数保存使用decimal,最好都这么用。。

6.  如果业务上自己知道要查出一条就ok的话,最好sql上加一句limit 1

 

 

MyISAM存储引擎下,索引 是 .MYI文件。。数据存在.MYD文件。。.frm是表结构文件。

MyISAM 和 Innodb的区别  详细可以参考:http://www.oschina.net/question/17_4248

MyISAM 删除delete的时候不会真正移除数据库文件,需要执行optimize table才会清掉碎片。。表级锁。

Innodb 中存在表的数据会在外头有个文件ibdata1 里,不在.MYD文件里。不像是MyISAM。支持事务。支持外键。一般行级锁。

 

mysql的常用优化知识

标签:

原文地址:http://www.cnblogs.com/firstForEver/p/4943368.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!