Mysql优化(3)

1.应用访问优化

1).减少数据访问(Nosql作用)
2).返回更少数据
3).减少交互次数(Nosql作用)

2.服务器硬件选择

1).数据SSD (固态)
2).日志SAS (企业级)

3.操作系统优化(LINUX / SWAP(虚拟内存) )

1).LINUX 
2).设置SWAP(虚拟内存)
3).关闭NUMA特性
4).网卡优化(双网卡做成BOND(0 / 1 / 6)或者调整网络参数)
5).磁盘调度设置(DEADLINE / NOOP / CFQ)
6).文件系统(XFS / EXT4 / NOATIME / NOBARRIER)

4.数据库优化

1).数据库实例化优化
2).SQL语句优化
    a).选着有效的连接顺序(from从左到右;where从下而上,从右到左;group by,order by从左到右)
    b).避免产生笛卡尔积
    c).避免使用*(需要查询数据字典)
    d).用where子句替换having子句
    e).in适合外表大而内表小;exist适合于外表小而内表大
    f).使用exists替代distinct
    g).避免隐式数据类型转换
    h).使用索引来避免排序操作
    i).尽量使用前端匹配的模糊查找(Column like ‘ABC%’)
    j).不要在选择性较低的字段建立索引
    k).避免对列操作(where条件中对字段进行数学表达式运算)
    l).尽量去掉in , or ,<> (索引失效)
    m).避免在索引列上使用 is null 或者 not
    n).批量提交sql
    原文作者:summerNazi
    原文地址: https://segmentfault.com/a/1190000017510027
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞