• (1.10)SQL优化——mysql 常见SQL优化


    (1.10)常用SQL优化

    insert优化、order by 优化

    1、insert 优化

      

    2、order by 优化

    【2.1】mysql排序方式:

      (1)索引扫描排序:通过有序索引扫描直接返回有序数据

      (2)filesort排序:所有不是索引扫描返回结果的数据均为filesort排序

      filesort优化:

        

     3、优化group by 

      

      

      

      

     4、子查询优化

      在!= 操作的子查询中,可以用left join + is null 来优化

    5、or优化

      or 在同字段下可以改成 in

      在不同字段下可以使用Union all

    6、limit优化

    【6.1】子查询优化/join(id为索引字段)

           这种方式先定位偏移位置的 id,然后往后查询,这种方式适用于 id 递增的情况。

        

    SELECT * FROM product
    WHERE ID > =(select id from product limit 866613, 1) limit 20
         或者
    SELECT * FROM product a 
    JOIN (select id from product limit 866613, 20) b ON a.ID = b.id

    【6.2】ID限定优化

          

    使用 id 限定优化

      这种方式假设数据表的id是连续递增的,则我们根据查询的页数和查询的记录数可以算出查询的id的范围,

      可以使用 id between and 来查询:

    
    
    select * from orders_history where type=2 
    and id between 1000000 and 1000100 limit 100;
    
    也可以
        
    select * from orders_history where id >= 1000001 order by id asc limit 100;
    
    
    
     

    优化工具之数据库层面

    
    

    检查问题常用的 12 个工具:
    MySQL
    mysqladmin:MySQL 客户端,可进行管理操作
    mysqlshow:功能强大的查看 shell 命令
    SHOW [SESSION | GLOBAL] variables:查看数据库参数信息
    SHOW [SESSION | GLOBAL] STATUS:查看数据库的状态信息
    information_schema:获取元数据的方法
    SHOW ENGINE INNODB STATUS:Innodb 引擎的所有状态
    SHOW PROCESSLIST:查看当前所有连接的 session 状态
    explain:获取查询语句的执行计划
    show index:查看表的索引信息
    slow-log:记录慢查询语句
    mysqldumpslow:分析 slowlog 文件的工具

    
    

    不常用但好用的 7 个工具:
    Zabbix:监控主机、系统、数据库(部署 Zabbix 监控平台)
    pt-query-digest:分析慢日志
    MySQL slap:分析慢日志
    sysbench:压力测试工具
    MySQL profiling:统计数据库整体状态工具
    Performance Schema:MySQL 性能状态统计的数据
    workbench:管理、备份、监控、分析、优化工具(比较费资源)——引用自作者 惨绿少年

    
    
  • 相关阅读:
    js相关小实例——大图轮播
    js相关小实例——div实现下拉菜单
    js相关小实例——二级菜单
    html5部分相关
    CSS3常用属性(边框、背景、文本效果、2D转换、3D转换、过渡、有过渡效果大图轮播、动画)
    数据访问
    php测试
    单例模式
    Doc
    横竖列表 下拉隐藏显示
  • 原文地址:https://www.cnblogs.com/gered/p/10650826.html
Copyright © 2020-2023  润新知