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

MySQL阶段七——MySQL优化

时间:2017-08-03 22:14:42      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:mysql

mysql优化

-一、硬件优化(优化的主要点)

    01.CPU----最好是64位的,例:8-16颗CPU

    02.内存----例:96G-128G,3-4个实例

    03.disk----数量越多越好,性能:ssd(适合高并发业务)>sas(普通上线业务)>sata(适合线下)

        RAID----部署合适的RAID

    04.网卡----多块网卡bond,以及buffer,tcp优化

-二、软件优化

    01.操作系统----x86_64

    02.软件:mysql,编译优化

-三、my.cnf里面参数优化 (一般效果不是很明显)

    01.使用调优工具

-四、sql语句的优化

  01.索引优化

        a.抓取出慢查询sql

        b.可以使用慢查询日志分析工具

        (对于查询慢的select语句,可以使用explain查看查询;一般在唯一值或者重复比较少的列上面简历索引,如果多条件查询中的条件,全部都是唯一值少,重复较多,这时候可以采用联合索引,对于多个列一起进行建立索引)

        c.晚上零点分析慢查询,发到核心开发,dba分析。

    02.拆分大的复杂的sql语句

        子查询,jion查询。

    03.数据库是存储数据的地方不是计算数据的地方

    04.对于LIKE "%XXXIII%"之类的前后都是%的查询,sql索引不起作用(一般是一些搜索会出现这种问题)

    解决:a.从业务上,可以实现用户登录后再查询或者搜索,减少搜索次数

        b.如果大量频繁的搜索,一般是爬虫在爬,这时就可以分析web日志,将频繁查询的IP封掉

        c.配置主从同步,程序实现读写分离

        d.在数据库前端加memcached缓存服务器

        e.不用数据库进行查询,用搜索软件

 

-五、架构上的优化

    01.业务拆分,搜索功能,like "%XXX%",一般不用mysql数据库

    02.数据库前端必须加cache,例如:memcached

    03.业务拆分,某些业务应使用nosql持久化存储

     比如:粉丝关注、好友关系等

    04.动态数据静态化

    05.数据库集群与读写分离,一主多从

    06.单表过多,进行拆库拆表

-六、流程,制度,安全优化







本文出自 “秦斌的博客” 博客,谢绝转载!

MySQL阶段七——MySQL优化

标签:mysql

原文地址:http://qinbin.blog.51cto.com/11773640/1953422

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