美文网首页
我所理解的SQL优化

我所理解的SQL优化

作者: 蜗牛淋雨 | 来源:发表于2018-08-08 14:46 被阅读0次

    SQL语句的事件花在哪儿?

    • 执行时间
    • 等待时间

    这两个时间并非孤立的,如果单条语句执行的快了,那么其他语句的锁定的时间也就少了。所以我们分析如何降低执行时间。

    SQL语句的执行时间又花在哪儿了?

    • 查找
      • 沿着索引查找,最慢的情况是全表扫描
    • 取出
      • 查到后,把数据取出来并返回给客户端

    如何查询的快?

    • 查的快:联合索引的顺序、区分表、长度
    • 取的快:索引覆盖
    • 传输的少:取更少的行和列
    • 切分查询:按数据拆成多次,如:插入10000条数据,每1000条为单位插入
    • 分解查询:按逻辑把多表联查,拆分成多个简单查询

    SQL优化思路

    不查 -> 少查 -> 高效的查

    • 不查:通过业务逻辑来计算
    • 少查:尽量精准数据、少取行。如:我们观察新闻网站、评论内容等,一般一次性取列表10~30条左右。
    • 高效的查询:尽量走在索引上查询,取时尽量少取列

    例如:

    select * from tabA; # 就取出来所有列,不建议这么做
    select * from tabA, tabB; # 取出A、B表所有列
    

    相关文章

      网友评论

          本文标题:我所理解的SQL优化

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