为什么即便 SQL 语句应用了索引,查询速度仍显得缓慢?

2026-04-28 16:210阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2887个文字,预计阅读时间需要12分钟。

为什么即便 SQL 语句应用了索引,查询速度仍显得缓慢?

聊聊索引和慢查询,经常遇到的一个问题:一个SQL语句使用了索引,为什么还会记录到慢查询日志中?

一、索引与慢查询

二、聊聊索引和慢查询

聊一聊索引和慢查询,经常遇到的一个问题:一个SQL语句使用了索引,为什么还是会记录到慢查询日志之中? 一、索引与慢查询

聊一聊索引和慢查询,经常遇到的一个问题:一个SQL语句使用了索引,为什么还是会记录到慢查询日志之中?
为了说明,创建一个表t,该表3个字段,一个主键索引,一个普通索引

CREATE TABLE `t` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `a` (`a`) ) ENGINE=InnoDB; insert into t values (1, 1, 1), (2, 2, 2);

首先MySQL判断一个语句是不是慢查询语句,用的是语句执行时间,它把语句执行时间跟long_query_time这个系统参数做比较,如果语句执行时间比long_query_time还大,就会把这个语句记录到慢查询日志里。

long_query_time这个参数它的默认值是10s,在生产上我们不会设置这么大的值,一般会设置1s,对于一些对延迟比较敏感的业务,会设置一个比1还小的值,而对于语句是否使用了索引,它的意思是语句执行过程中有没有用到表的索引。

阅读全文

本文共计2887个文字,预计阅读时间需要12分钟。

为什么即便 SQL 语句应用了索引,查询速度仍显得缓慢?

聊聊索引和慢查询,经常遇到的一个问题:一个SQL语句使用了索引,为什么还会记录到慢查询日志中?

一、索引与慢查询

二、聊聊索引和慢查询

聊一聊索引和慢查询,经常遇到的一个问题:一个SQL语句使用了索引,为什么还是会记录到慢查询日志之中? 一、索引与慢查询

聊一聊索引和慢查询,经常遇到的一个问题:一个SQL语句使用了索引,为什么还是会记录到慢查询日志之中?
为了说明,创建一个表t,该表3个字段,一个主键索引,一个普通索引

CREATE TABLE `t` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `a` (`a`) ) ENGINE=InnoDB; insert into t values (1, 1, 1), (2, 2, 2);

首先MySQL判断一个语句是不是慢查询语句,用的是语句执行时间,它把语句执行时间跟long_query_time这个系统参数做比较,如果语句执行时间比long_query_time还大,就会把这个语句记录到慢查询日志里。

long_query_time这个参数它的默认值是10s,在生产上我们不会设置这么大的值,一般会设置1s,对于一些对延迟比较敏感的业务,会设置一个比1还小的值,而对于语句是否使用了索引,它的意思是语句执行过程中有没有用到表的索引。

阅读全文