MYSQL优化

Posted crisenchou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL优化相关的知识,希望对你有一定的参考价值。

构造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优化的主要内容,如果未能解决你的问题,请参考以下文章

mysql 优化包括哪些内容?

Mysql的性能优化

Mysql的性能优化

mysql 子查询 优化

MySQL Optimization

MySQL优化MySQL 高并发配置优化基础知识