当前位置:Gxlcms > 数据库问题 > MySQL阶段七——MySQL优化

MySQL阶段七——MySQL优化

时间:2021-07-01 10:21:17 帮助过:3人阅读

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

    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

人气教程排行