美文网首页
mysql 数据库优化

mysql 数据库优化

作者: Messix_1102 | 来源:发表于2021-07-09 14:57 被阅读0次

    查看MySql慢查询日志是否开启
    show variables like '%slow%';

    查看 slow_query_log 选项

    开启 慢查询 命令
    set global slow_query_log = on;

    查看慢查询写日志的阈值
    show variables like '%long_query_time%';
    设置慢查询写日志的阈值 1秒,配置文件也可以修改
    配置文件设置:long_query_time=1
    命令设置:set global long_query_time = 1;

    慢查询日志 在 C:\ProgramData\MySQL\MySQL Server 5.7\Data 文件夹下
    explain SELECT COUNT(1) FROM cards;

    type
    All 有优化控件,全盘扫描
    eq_ref 用到了主键索引

    force index
    带头大哥不能死,中间兄弟不能乱,范围之后全完蛋
    开启索引前缀下推(默认开启)
    show variables like 'optimizer_switch';

    表记录少不加索引
    一个表索引数量不宜过多
    频繁更新字段不加索引
    区分度低的字段不建议加索引
    主键使用整形或长整型
    尽量使用组合索引,而不是单列索引
    开启索引条件下推

    深翻页会导致性能下降
    select * from aa limt 10000000, 100 性能缓慢
    优化 select * from aa where id > 12454566 limt 0, 100(id 是有序的,所以可以把上次查询的id最大值 当作查询条件,再查一百条数据会快很多)

    小表驱动大表,关联的时候小数据集放前面
    避免全盘扫描
    关联字段都建索引
    where 条件减少使用不等于,not in

    缓冲池大小,物理内存的 50% - 80%
    刷盘策略最好不要动,1 包子数据百分比不丢失
    bin log 测率可以改大一点

    脏页过多触发刷盘百分比
    innodb_max_dirty_pages_pct=30

    后台进程最大IO性能指标
    机械硬盘推荐 200
    innodb_io_capacity=200
    SSD 推荐5000 到 20000

    相关文章

      网友评论

          本文标题:mysql 数据库优化

          本文链接:https://www.haomeiwen.com/subject/olyfpltx.html