通用指标索引表mysql_mysql衡量查询开销的3个指标

本文介绍了MySQL衡量查询效率的三个关键指标:响应时间、扫描行数和返回行数,并强调了索引在优化查询中的作用。通过使用合适的索引,可以降低扫描行数,提高查询速度。此外,对于扫描行数远大于返回行数的查询,可以通过覆盖索引、调整表结构或重写查询来优化。
摘要由CSDN通过智能技术生成

mysql衡量查询开销的3个指标

(2013-07-15 09:58:43)

标签:

it

1、响应时间:包括,cpu处理时间和I/O等待时间等。

2、扫描行数:mysql在本次查询一共扫描了多少行。

3、返回行数:mysql在本次查询一共返回的行数。

在explain语句中的type列反应了访问类型。访问类型有多种,从全表扫描到索引扫描、范围扫描、唯一索引查询、常数引用等。这些速度从慢到快,扫描行数从大到小。

一般mysql使用三种方式应用where条件,

1、在索引中使用where条件来过滤不匹配的行。(这是在存储引擎中完成的)

2、使用索引覆盖扫描(在extra列中出现using

index)来返回记录,直接从索引中过滤不需要的记录并返回命中的结果。(这是在mysql服务层完成的,无须再回到表中查询记录)

3、从数据表中返回数据,然后过滤不满足条件的记录(在extra列中出现using

where)。(这是在mysql服务层完成的,mysql从数据表中读出记录,然后过滤)

以上说明了索引的重要,好的索引可以让查询使用适当的访问类型,尽可能的扫描需要的记录。

但也不是增加索引就能让返回的行数等于返回的行数。

下面使用聚合函数的查询:select actor_id ,count(*) from film_actor group by

actor_id;

这个查询扫描了几千行,返回结果只有几百行。没有什么索引可以减少扫描的行数。

理解一个查询扫描多少行和实际需要的行数需要先理解这个查询背后的逻辑和思想。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值