mysql数据库优化的几种方法_优化mysql数据库的8个方法

mysql数据库优化的几种方法_优化mysql数据库的8个方法1、使用 show status 了解各种 SQL 的执行频率 该命令可以查询 sql 命令的执行次数。 2、定位执行效率较低的 SQL 语句 定位执行效率较低的 SQL 一般有两种方法: 1. 通过

MySQL数据库的SQL语句优化方法

1、使用 show status 了解各种 SQL 的执行频率

mysql> show status like "Com%";
该命令可以查询 sql 命令的执行次数。

2、定位执行效率较低的 SQL 语句

定位执行效率较低的 SQL 一般有两种方法:

  1. 通过慢查询日志定位效率低的 SQL,用 --log-show-queries[=file_name]该选项启动;
  2. 慢查询日志在查询结束后才会记录,所以在应用执行效率出现问题的时候慢查询日志不能定位问题,这时可以使用 show processlist 命令查看当前 MySQL 在执行的线程,包括线程的状态、是否锁表等,可以实时地查看 SQL 的执行情况,同时对一些锁表操作进行优化;

3、通过 explain 分析低效 SQL 的执行计划

all < index < range < ref < eq_ref < const, system < null

以上常见的访问类型从左至右,性能又差到好

  1. ALL:全表扫描, MySQL 遍历全表来匹配行;
  2. index:索引扫描,MySQL 遍历整个索引来查询匹配的行;
  3. range:索引范围扫描,常见于 <、<=、>、>=、between 等操作符;
  4. ref:使用非唯一索引扫描或唯一索引的前缀扫描,返回匹配某个单独值的记录行;
  5. eq_ref:类似 ref,区别就在使用的索引是唯一索引,对于每个索引键值,表中只有一条记录匹配;简单来说,就是多表连接中使用 primary key 或 unique index 作为关联条件;
  6. const / system:单表中最多有一个匹配行,查询非常迅速,所以这个匹配行中的其它列的值可 以被优化器在当前查询中当作常量来处理,例如,根据主键 primary key 或 唯一索引 unique index 进行查询;
  7. NULL:MySQL 不用访问表或索引,直接就能得到结果;

4、MySQL 4.1 的扩展命令 explain extended

在 MySQL 4.1 引入了 explain extended 命令,通过该命令加上 show warnings,我们能够得到 SQL 在真正执行之前优化器做了哪些 SQL 改写。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9986.html

(0)
上一篇 2023-01-28 10:00
下一篇 2023-01-28 11:00

相关推荐

  • 使用Python的Choice函数编写随机选择程序

    使用Python的Choice函数编写随机选择程序在日常生活中,我们需要做出各种各样的决策。有时候,我们会纠结于自己的选择,不知道应该怎么做才是最好的。这时候,随机选择程序就可以大有用处了。本文将介绍如何使用Python的Choice函数编写一个简单的随机选择程序,让我们的选择更具随机性,更加公平。

    2024-07-27
    35
  • 使用Python的Grid函数实现数据网格化

    使用Python的Grid函数实现数据网格化在数据分析和机器学习的过程中,数据网格化是一个必不可少的步骤。该步骤将原始数据转换为均匀间隔排列的二维数组,使得数据可以进一步被分析和处理,例如图像分析和任意定位。Python提供了许多函数用于数据网格化,其中最常用的是Grid函数。本文将详细介绍如何使用Python的Grid函数实现数据网格化。

    2024-04-25
    72
  • Postgresql 存储过程

    Postgresql 存储过程1、没有定义 plpsql createlang -d tms plpgsql 2、找出不连续的SN DROP FUNCTION IF EXISTS sn_miss(IN order_name TE…

    2023-03-04
    157
  • Oracle学习笔记(一)——B-Tree索引[亲测有效]

    Oracle学习笔记(一)——B-Tree索引[亲测有效]https://blog.csdn.net/biww620/article/details/73003880 目录是索引的一个最好的例子,每条目录包含对应章节的标题和页码,类比索引的每条索引项包含了数

    2023-02-21
    196
  • 使用Python实现Nginx API操作

    使用Python实现Nginx API操作
    现代应用程序的网络架构已经从单一服务器架构发生了变化。现在,分布式应用程序的网络架构中,负载均衡和反向代理组件变得越来越重要。 Nginx是一个高性能的开源反向代理和负载均衡器。

    2024-04-28
    107
  • 存储过程和函数 oracle「建议收藏」

    存储过程和函数 oracle「建议收藏」declare begin dbms_output.put_line('Hello World'); end; declare i number := 10; begin if …

    2023-02-09
    133
  • Redis必备面试题《基础篇》「建议收藏」

    Redis必备面试题《基础篇》「建议收藏」Date:2019-11-12 读前思考: 面试官会问什么样的问题? 所问的问题背后真实的套路是什么? 喜欢问Redis哪些问题? 如何顺畅回答面试问的问题?吊打面试官。 1、什么是Redis? 2、

    2022-12-18
    139
  • 用Python轻松实现列表元素的删除和弹出操作

    用Python轻松实现列表元素的删除和弹出操作在Python中,列表是一种可变的有序集合。我们可以对列表进行各种操作,从而满足不同的需求,比如添加、删除、修改、查找等等。

    2024-02-13
    98

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注