美文网首页RxJava编程语言爱好者Java服务器端编程
MySQL如何性能优化面试题完美解答

MySQL如何性能优化面试题完美解答

作者: 迦叶_金色的人生_荣耀而又辉煌 | 来源:发表于2021-01-26 07:20 被阅读0次

    上一篇 <<<order by中的单路和双路排序算法原理
    下一篇 >>>


    MySQL底层使用B+树索引,以减少磁盘的IO请求,以及支持范围的高效查询。

    优化思路

    1.定位慢查询语句

    参考MySQL性能优化之慢查询定位

    2.使用explain执行计划或trace工具分析日志和sql语句

    1 .必须遵循最佳左前缀法则防止索引失效
    2.尽量使用覆盖索引,查询列都是加上索引减少 Select *避兔回表查询
    3.is null, not null 索引会失效 空值用专门特定常量值定义
    4. Like 模糊遵循最佳左前缀法则 或者使用使用复合索引模糊查询
    5. 排序相关:最佳左前缀法则避兔 filesort
    6.分页优化根据 where id 条件过滤offSet 或者使用子查询先定位 id ,在查询效率可以提高一半,但是如果数据量大于 500 行的情况下建议使用分表。
    7. 连表查询:小表驱动大表数据避免全表扫描,超过三张表禁止使用 join
    8. count ( * )查询优化辅助索引 count 比主键 1 dcount 效率要高。

    具体参考底部相关文章链接。

    3.合理的表结构设计

    参考MySQL性能优化之表设计优化

    4.开发代码中防止行锁升级为表锁

    参考MySql的表锁行锁及间隙锁

    相关文章

      网友评论

        本文标题:MySQL如何性能优化面试题完美解答

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