当前位置 博文首页 > Monsterof的博客:Mysql数据库优化三(SQL优化)

    Monsterof的博客:Mysql数据库优化三(SQL优化)

    作者:[db:作者] 时间:2021-09-10 18:52

    相关文章

    Mysql数据库优化一(存储引擎)
    Mysql数据库优化二(数据库设计)

    SQL优化

    介绍

    系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的SQL语句,提高系统的可用性。

    常见优化规则

    表连接数

    • 连接的表越多,性能越差
    • 可能的话,将连接拆分成若干个过程逐一执行
    • 优先执行可显著减少数据量的连接,既降低了复杂度,也能够容易按照预期执行
    • 如果不可避免多表连接,很可能是设计缺陷
    • 外链接效果差,因为必须对左右表进行表扫描
    • 尽量使用inner join查询

    使用临时表

    如果不可避免,可以考虑使用临时表或表变量存放中间结果。

    少用子查询

    视图嵌套

    不要过深,一般视图嵌套不要超过2个为宜。

    SQL编写注意事项

    大小写

    • SQL对大小写不敏感;
    • 一般内置函数和命令会采用大写;
    • 数据库中表名,字段名,表别名,序列,采用小写;

    标点符号

    • 用来分割查询数据;
    • 用来终止语句;

    sum函数与count函数的区别

    在这里插入图片描述

    • sum(score)=66+88+89
    • count(score)=3

    多表连接特点

    left join
    在这里插入图片描述

    right join
    在这里插入图片描述

    inner join
    在这里插入图片描述

    筛选语句

    • having:筛选计算后的数据
    • where:筛选原始数据

    另外推荐小伙伴们积极参加:C站测评挑战赛

    cs