广告
返回顶部
首页 > 资讯 > 数据库 >如何在mysql数据库中开启慢查询
  • 139
分享到

如何在mysql数据库中开启慢查询

2024-04-02 19:04:59 139人浏览 独家记忆
摘要

如何在Mysql数据库中开启慢查询?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、开启慢查询1> 查看慢查询是否开启s

如何在Mysql数据库中开启慢查询?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1、开启慢查询

1> 查看慢查询是否开启

show variables like "%quer%";
slow_query_log = ON #已开启

2> 开启方法:my.cnf目录配置

slow_query_log=on #是否开启
slow_query_log_file=/opt/mysql_Data/TEST1-slow.log #慢查询文件位置
long_query_time=2 #查询超过多少秒才记录

2、EXPLAIN慢查询日志里出现的SELECT查询

idselect_typetablepartitionstypepossible_keyskeykey_lenrefrowsfilteredExtra
1SIMPLEuserNULLrefuseruser768const1100.00NULL

explain列的解释

  • table:显示这一行的数据是关于哪张表的

  • type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、index、all

  • possible_keys:显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域从where语句中选择一个合适的语句

  • key: 实际使用的索引。如果为null,则没有使用索引。很少的情况下,mysql会选择优化不足的索引。这种情况下,可以在select语句中使用use index(indexname)来强制使用一个索引或者用ignore index(indexname)来强制mysql忽略索引

  • key_len:使用的索引的长度。在不损失精确性的情况下,长度越短越好

  • ref:显示索引的哪一列被使用了,如果可能的话,是一个常数

  • rows:mysql认为必须检查的用来返回请求数据的行数

  • extra:关于mysql如何解析查询的额外信息。例子:using temporary和using filesort,意思mysql根本不能使用索引,结果是检索会很慢

key_len的计算

  1. 所有的索引字段,如果没有设置not null,则需要加一个字节。

  2. 定长字段,int占四个字节、date占三个字节、char(n)占n个字符。

  3. 对于变成字段varchar(n),则有n个字符+两个字节。

  4. 不同的字符集,一个字符占用的字节数不同。latin1编码的,一个字符占用一个字节,gbk编码的,一个字符占用两个字节,utf8编码的,一个字符占用三个字节。

3、建索引的几大原则

  • 最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。

  • =和in可以乱序,比如a = 1 and b = 2 and c = 3 建立(a,b,c)索引可以任意顺序,mysql的查询优化器会帮你优化成索引可以识别的形式。

  • 尽量选择区分度高的列作为索引,区分度的公式是count(distinct column)/count(*),表示字段不重复的比例,比例越大我们扫描的记录数越少,唯一键的区分度是1,而一些状态、性别字段可能在大数据面前区分度就是0,那可能有人会问,这个比例有什么经验值吗?使用场景不同,这个值也很难确定,一般需要join的字段我们都要求是0.1以上,即平均1条扫描10条记录。

  • 索引列不能参与计算和函数的使用,保持列干净。

  • 尽量的扩展索引,不要新建索引。比如表中已经有a的索引,现在要加(a,b)的索引,那么只需要修改原来的索引即可。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网数据库频道,感谢您对编程网的支持。

您可能感兴趣的文档:

--结束END--

本文标题: 如何在mysql数据库中开启慢查询

本文链接: https://www.lsjlt.com/news/54952.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何在mysql数据库中开启慢查询
    如何在mysql数据库中开启慢查询?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、开启慢查询1> 查看慢查询是否开启s...
    99+
    2022-10-18
  • 如何在MySQL中开启慢查询日志
    如何在MySQL中开启慢查询日志?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。(1)配置开启Linux:在mysql配置文件 my.cnf 中...
    99+
    2022-10-18
  • MySQL如何开启慢查询
    小编这次要给大家分享的是MySQL如何开启慢查询,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。一、简介开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通...
    99+
    2022-10-18
  • mysql慢查询如何开启
    本文小编为大家详细介绍“mysql慢查询如何开启”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql慢查询如何开启”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、什么是慢查询?在 MySQL 中,如果执行...
    99+
    2023-07-06
  • 怎么在MySQL中开启Slow慢查询
    这篇文章给大家介绍怎么在MySQL中开启Slow慢查询,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。方法如下:1:登录数据库查看是否已经开启了Slow慢查询:mysql>&nbs...
    99+
    2022-10-18
  • mysql如何开启慢查询日志?
    首先我们需要了解四个参数:slow_query_log # 是否开启慢查询日志,默认OFF,开启则设置为 ON。 slow_query_log_file # 慢查询日志文件存储位置。 log_queries...
    99+
    2022-10-18
  • 如何开启MySQL慢查询日志
      一、开启慢查询日志首先需要了解四个参数: slow_query_log # 是否开启慢查询日志,默认OFF,开启则设置为 ON。 slow_query_log_file # 慢查询日志文件存储位置。 log_queries_not_u...
    99+
    2016-07-12
    如何开启MySQL慢查询日志
  • MySQL如何开启慢查询日志
    这篇文章给大家分享的是有关MySQL如何开启慢查询日志的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。mysql优化方案:开启慢查询日志(查询sql执行超过一秒以上sql等等)开启慢查询日志:可以让MySQL记录下...
    99+
    2023-06-22
  • 在Linux下开启mysql慢查询,分析查询语句
    一,为什么要开启这个查询呢? 数据库是很容易产生瓶颈的地方,现在Nosql大家讨论这么热,估计都被数据库搞郁闷了。mysql中最影响速度的就是那些查询非常慢的语句,这些慢的语句,可能是写的不够合理或者是大数...
    99+
    2022-05-26
    Linux mysql 慢查询
  • MySQL中的慢查询日志怎么开启
    这篇“MySQL中的慢查询日志怎么开启”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL中的慢查询日志怎么开启”文章吧...
    99+
    2023-07-05
  • 如何在MySQL中慢查询日志
    如何在MySQL中慢查询日志?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。什么是慢查询日志MySQL的慢查询日志是 MySQL提供的一种日志记录,它用来记录在 ...
    99+
    2023-06-14
  • MySQL数据库——MySQL慢查询日志(Slow Query Log)
    慢查询日志用来记录在 MySQL 中执行时间超过指定时间的查询语句。通过慢查询日志,可以查找出哪些查询语句的执行效率低,以便进行优化。 通俗的说,MySQL 慢查询日志是排查问题的 SQL 语句,以及检查当前 MySQL 性能的一个重要功能...
    99+
    2023-08-31
    mysql 数据库 sql
  • MySQL如何开启慢查日志
    小编给大家分享一下MySQL如何开启慢查日志,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在开发项目中,我们可以通过MySQL的...
    99+
    2022-10-18
  • 【MySQL】数据库慢查询日志分析--Lepus
    [root@wallet04 ~]# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm [root@wa...
    99+
    2022-10-18
  • MySQL数据库出现慢查询的危害
    1、MySQL数据库当出现慢查询,是比较危险的,一旦有其他的DDL操作,可能会造成整个数据库的等待可以分以下几种情况:当表是MyiSAM表,对表有慢查询,不阻塞Select,对该表的其他DML,DDL操作都...
    99+
    2022-10-18
  • MySQL如何开启MySQL慢查询日志及分析工具mysqldumpslow
    这篇文章给大家分享的是有关MySQL如何开启MySQL慢查询日志及分析工具mysqldumpslow的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 ...
    99+
    2022-10-18
  • dockermysql容器如何开启慢查询日志
    目录1、进入容器 登陆账号2、查看慢日志相关信息1、进入容器 登陆账号 docker 查看 运行的容器 docker ps 进入容器: docker exec -it dc888...
    99+
    2022-11-13
  • MySQL中如何启用并分析慢查询日志
    MySQL中如何启用并分析慢查询日志,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Mysql有一...
    99+
    2022-10-18
  • Mysql数据库慢查询常用优化方式
    目录慢查询日志概念一、数据库中设置SQL慢查询1、mysql慢查询相关配置参数介绍2、实现配置步骤二、分析慢查询日志三、常见的慢查询优化1、索引没起作用的情况2、优化数据库结构3、分解关联查询4、优化LIMIT分页四、常...
    99+
    2023-05-05
    mysql如何优化慢查询 如何优化慢查询sql 优化mysql查询速度
  • 如何在MySQL中使用慢查询日志
    这期内容当中小编将会给大家带来有关如何在MySQL中使用慢查询日志,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。慢查询日志相关参数MySQL 慢查询的相关参数解释:slo...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作