• mysql8.0数据库中explain查询及优化方案


    1.explain查询

    在MySQL 8.0中,EXPLAIN查询用于分析和优化查询语句的执行计划。它提供了关于查询执行的详细信息,包括表的访问顺序、使用的索引、连接类型等。下面是一些常见的说明字段及其含义:

    1. id:查询中的操作标识符,按照执行顺序递增。 
    2. select_type:查询类型,包括SIMPLE(简单查询)、PRIMARY(主查询)、SUBQUERY(子查询)、DERIVED(派生表查询)等。 
    3. table:表示参与查询的表名。 
    4. partitions:表示使用的分区数。 
    5. type:表示表的访问类型,常见的类型有: 
       - ALL:全表扫描,性能较差。 
       - index:索引全扫描,比ALL好,但仍需扫描整个索引。 
       - range:范围扫描,根据索引的范围进行扫描。 
       - ref:使用非唯一索引或唯一索引的前缀进行查找。 
       - eq_ref:使用唯一索引进行查找。 
       - const/system:根据常量或系统表中的一行数据进行查找。 
    6. possible_keys:可能使用的索引。 
    7. key:实际使用的索引。 
    8. key_len:表示索引使用的字节数。 
    9. ref:表示连接条件中使用的列或常量。 
    10. rows:表示估计的查询结果集行数。 
    11. filtered:表示通过索引条件过滤的行百分比。 
    12. Extra:额外的信息,如Using index、Using where、Using temporary等。 
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    2.关于MySQL数据库的优化方案

    MySQL数据库的优化方案可以从多个方面入手,以下是一些建议的优化策略:

    1. 索引优化: 
       - 确保关键列(经常用于查询和连接的列)都有适当的索引。 
       - 避免在高写入负载下过度使用索引,因为索引的维护会增加写入的开销。 
       - 使用覆盖索引(Covering Index)来减少查询的IO开销。 
       - 定期分析和优化索引,删除不再使用的索引。 
     
    2. 查询性能优化: 
       - 避免使用SELECT *,只选择需要的列,减少数据传输和内存开销。 
       - 使用合适的JOIN类型和JOIN顺序,避免不必要的JOIN操作。 
       - 使用合适的WHERE条件和索引来过滤数据,减少扫描的数据量。 
       - 分页查询时,使用LIMIT和OFFSET来限制返回的结果集大小,避免全表扫描。 
     
    3. 数据库结构优化: 
       - 合理设计数据库表结构,避免冗余和重复数据。 
       - 使用合适的数据类型,避免过度使用VARCHAR等可变长度字段。 
       - 避免使用过长的字段和过多的字段。 
       - 根据业务需求,将数据分散到不同的表中,避免单表数据过大。 
     
    4. 配置优化: 
       - 调整合适的缓冲区大小,如innodb_buffer_pool_size、key_buffer_size等。 
       - 调整合适的连接数限制,如max_connections。 
       - 合理配置日志级别和日志输出方式,避免过多的日志开销。 
     
    5. 高可用和负载均衡: 
       - 使用主从复制或者多主复制来实现高可用性和读写分离。 
       - 使用数据库代理工具,如MySQL Proxy、MySQL Router等来实现负载均衡。 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
  • 相关阅读:
    【shell脚本】全自动完成pxe无人值守批量装机脚本,匹配centos系列
    web自动化测试——入门篇01
    打造千万级流量秒杀系统第二课 功能需求:秒杀活动信息是如何管理的?
    阳振坤:OceanBase 4.0 核心技术解读
    目标检测YOLO实战应用案例100讲-基于锐化注意力的快速目标检测算法及其在遥感场景下的应用研究(中)
    软文撰写技巧:中小企业品牌形象塑造新方法
    存储bag文件并转csv,一键启动思路、默认python3
    MyBatis面试题
    解决Vue多次传递重复参数会报错
    市县镇一体化视频会议系统
  • 原文地址:https://blog.csdn.net/sinat_37239798/article/details/133684926