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

MYSQL优化

时间:2016-06-30 21:18:04      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

构造SQL时,一定要养成良好的习惯,遵循以下原则,对慢查询say no

  一、尽量避免在列上进行运算,因为这样会导致索引失效

  二、使用JOIN时,用小结果集驱动大结果集。同时把复杂的JOIN查询拆分成多个query

   三、尽量不要使用LIKE模糊匹配,如果非要用的话,避免%%左右同时模糊匹配

  四、仅查出所需要的字段,虽然不能增加效率,但是可以节省内存

  五、使用批量插入语句节省交互

  六、limit的基数比较大的时候使用between

  七、不使用rand函数获取多条随机记录,一条为佳

  八、避免使用NULL空值

  九、使用count的时候,请用count(*) 不要count(column)

  十、不要做无谓的排序操作,而尽可能在索引中完成排序

学会选择合适的MYSQL存储引擎,以适应不同的需求

  一:读写比大于100,update较少,并发性不高,数据量少的时候,选择MyISAM存储引擎

  二、读写比较小,频繁更新,数据量超过1000万,并发性高,对安全和可用性要求高,使用InnoDB存储引擎

  三、内存足够大,对数据一致性的要求不高,需要定期归档数据,使用MEMMORY存储引擎

必要的时候牺牲空间换取时间

  一、数据量比较大的时候,使用对特殊字段进行哈希,分库分表进行存储

  二、增加mysql服务器的数量,进行主从配置,达到读写分离的效果,选择合适的存储引擎,适应高并发场景

  三、使用NoSQL辅助解决方案,如memcache,redis等

尾语:MYSQL不是唯一的选择,但有些场景却是最合适的选择。

MYSQL优化

标签:

原文地址:http://www.cnblogs.com/crisenchou/p/5631053.html

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