iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL 5.7下InnoDB对COUNT(*)的优化
  • 886
分享到

MySQL 5.7下InnoDB对COUNT(*)的优化

2024-04-02 19:04:59 886人浏览 安东尼
摘要

在Mysql 5.7 COUNT()会选择聚集索引,进行一次内部handler函数调用,即可快速获得该表总数 执行计划显示:Extra:Select tables optimized away 5

Mysql 5.7 COUNT()会选择聚集索引,进行一次内部handler函数调用,即可快速获得该表总数

执行计划显示:Extra:Select tables optimized away

5.7以前的版本中,COUNT()请求通常是:扫描普通索引来获得这个总数。
6.执行计划显示: Extra:Using index

如果聚集索引较大(或者说表数据量较大),没有完全加载到buffer pool中的话,mysql 5.7的查询方式有可能反而会更慢,还不如用原先的方式(Mysql 5.6)
解决办法:强制走普通索引,不过还需要加上WHERE条件,否则还是不行
select count() from stock force index(idx_stock) where id >0;
extra:using where,using index

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 5.7下InnoDB对COUNT(*)的优化

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

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

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

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

下载Word文档
猜你喜欢
  • MySQL 5.7 索引优化
    提升查询性能最好的方法就是创建索引。索引项就像指向表中行的指针,让查询通过WHERE条件快速找到所要查询的行。MySQL所有的数据类型都可以创建索引。 不必要的索引会消耗系统的空间和MySQL在判断...
    99+
    2024-04-02
  • mysql 5.5 -- innodb buffer pool优化
    InnoDB buffer pool 被设为两个SUBLIST:一个是存放大部分查询所需用到的块;另一个是存放小量查询所需用到的块;并可以被回收;[@more@]The InnoDB buffer pool...
    99+
    2024-04-02
  • mysql中如何优化innodb
    这篇文章主要介绍了mysql中如何优化innodb,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。innodb_flush_logs_at_t...
    99+
    2024-04-02
  • Mysql中如何优化select count
    这篇文章主要介绍了Mysql中如何优化select count,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 1.任何情况下SE...
    99+
    2024-04-02
  • MySQL的优化器对于count(*)的处理方式是什么
    今天就跟大家聊聊有关MySQL的优化器对于count(*)的处理方式是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获...
    99+
    2024-04-02
  • MySQL大表count()的优化实现示例
    小编给大家分享一下MySQL大表count()的优化实现示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!今天实验了一下MySQL的count()操作优化, 以下...
    99+
    2023-06-14
  • MySQL中InnoDB MRR优化的示例分析
    这篇文章将为大家详细讲解有关MySQL中InnoDB MRR优化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言MRR 是 Multi-Range Read ...
    99+
    2024-04-02
  • MySQL 5.7 ORDER BY排序的优化是怎样的
    这篇文章将为大家详细讲解有关MySQL 5.7 ORDER BY排序的优化是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 ...
    99+
    2024-04-02
  • mysql的性能优化工具(源自韩锋大师,针对5.7修改)
        韩锋大师分享了一个mysql的性能优化工具,一个能自动采集SQL优化相关各种信息的python脚本,对于优化人员而言,这能省不少事,赞!     试用了一下,...
    99+
    2024-04-02
  • MySQL性能优化InnoDB buffer pool flush分析
    这篇文章主要讲解了“MySQL性能优化InnoDB buffer pool flush分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL性能优化I...
    99+
    2024-04-02
  • Linux下怎么定时对mysql进行优化
    这篇文章主要介绍“Linux下怎么定时对mysql进行优化”,在日常操作中,相信很多人在Linux下怎么定时对mysql进行优化问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • 5招带你轻松优化MySQL count(*)查询性能
    目录前言1 count(*)为什么性能差2 如何优化count(*)性能2.1 增加Redis缓存2.2 加二级缓存2.3 多线程执行2.4 减少join的表2.5 改成ClickHouse3 count的各种用法性能对...
    99+
    2022-11-19
    MySQLcount(*)查询性能 MySQLcount(*)查询 MySQLcount(*)
  • MySQL之InnoDB下的锁问题
    目录背景知识获取InnoDB行锁争用情况InnoDB的行锁模式及加锁方法下面是使用 lock in share mode加共享锁的例子下面是使用for update加排他锁的例子InnoDB行锁的实现方式在不通...
    99+
    2023-08-11
    MySQL InnoDB MySQL InnoDB下锁
  • MySQL 8.0 对 limit 的优化技巧
    目录一、前言二、mysql 8.0 对limit 的改进三、实践出真知3.1 默认开启参数3.2 关闭该参数四、总结一、前言 提到 limit 优化,大多数 MySQL DBA 都不会陌生,能想到各种应对策略,比如延迟关...
    99+
    2024-04-02
  • MySQL 8.0 对 limit 的优化技巧
    目录一、前言二、MySQL 8.0 对limit 的改进三、实践出真知3.1 默认开启参数3.2 关闭该参数四、总结一、前言 提到 limit 优化,大多数 MySQL DBA 都不...
    99+
    2022-11-13
    MySQL 8.0  limit优化 MySQL 8.0  limit
  • MySQL中InnoDB与MyISAM的对比分析
    小编给大家分享一下MySQL中InnoDB与MyISAM的对比分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!对比InnoDB与MyISAM1、 存储结构MyI...
    99+
    2023-06-27
  • Innodb重要参数的优化是什么
    这篇文章主要讲解了“Innodb重要参数的优化是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Innodb重要参数的优化是什么”吧!1.简单介绍Inno...
    99+
    2024-04-02
  • CentOS系统下MySQL的优化技巧
    本篇内容介绍了“CentOS系统下MySQL的优化技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!(1) 服务器硬件对MySQL性能的影响...
    99+
    2023-06-16
  • 如何进行Mysql SSD下的MySQL IO 优化
    这篇文章给大家介绍如何进行Mysql SSD下的MySQL IO 优化,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 背景 在阅读这篇文章之前,读者需要注意的是,为了维护隐...
    99+
    2024-04-02
  • Mysql优化器对in list的处理
    select * from table where id in (....)这样的查询,是走范围索引还是走等值索引? select * from table where...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作