MySQL在高内存、IO利用率上的几个优化点(二)

2015-07-16 12:09:39 · 作者: · 浏览: 5
按业务划分库。如果一项业务也大到单台机器无法承受,那就需要分表和分库来操作了。其实不管业务是否会做大,当开始建立工程的时候都应该要做到支持可分库、可分表(尽量避免使用表的自增ID作为业务ID使用)、可分业务(尽量避免事务操作,甚至允许在业务上有些可接受的牺牲,否则后期很难划分业务),否则只有面临重构的尴尬场面。这样做的好处是即使有些错误的设计预想不周,由于业务的各种原因无时间重构,也可以通过扩展、迁移的方式来降低单点造成的影响程度,然后后期再慢慢优化。


有一点一定要注意,“杀手级”sql语句的存在会让以上所有优化全部作废。比如上千万表数据的无索引搜索、排序、计算。所以必须开启慢查询日志排查所有慢查询语句。


以上为小弟的一些针对mysql实际使用的一些整理,有不足的地方还望提出补充,慢慢完善。


--------------------------------------分割线 --------------------------------------


--------------------------------------分割线 --------------------------------------