标签:
构造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不是唯一的选择,但有些场景却是最合适的选择。
标签:
原文地址:http://www.cnblogs.com/crisenchou/p/5631053.html