关于mysql中innodb的count优化问题分享

 更新时间:2013年02月04日 17:42:34   作者:  
关于mysql中innodb的count优化问题,有需要的朋友可以参考下

一般采用二级索引去count:
比如:id 是pk aid是secondary index

采用

复制代码 代码如下:

select count(*) from table where id >=0;

select count(*) from table;

效果是一样的,都是默认使用pk索引,且都要全表扫描,虽然第一种性能可能高一些,但是没有明显区别。

但是如果用secondary index

复制代码 代码如下:

select count(*) from table where aid>=0;

则会快很多。

为什么用 secondary index 扫描反而比 primary key 扫描来的要快呢?这就需要了解innodb的 clustered index 和 secondary index 之间的区别了。

innodb 的 clustered index 是把 primary key 以及 row data 保存在一起的,而 secondary index 则是单独存放,然后有个指针指向 primary key。
因此,需要进行 count(*) 统计表记录总数时,利用 secondary index 扫描起来,显然更快。
而primary key则主要在扫描索引,同时要返回结果记录时的作用较大。

相关文章

  • SQL SERVER 日期格式转换详解

    SQL SERVER 日期格式转换详解

    本篇文章是对SQL SERVER 日期格式转换进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • MySQL 数据备份和数据恢复的实现

    MySQL 数据备份和数据恢复的实现

    数据恢复的过程包括将备份文件导入到数据库中、重建索引、应用日志等,本文主要介绍了MySQL数据备份和数据恢复的实现,感兴趣的可以了解一下
    2023-08-08
  • 如何优化Mysql千万级快速分页

    如何优化Mysql千万级快速分页

    本文深入浅出的分析了如何给千万级mysql快速分页做优化,非常的实用,是篇不可多得的文章,程序员必读!!
    2014-09-09
  • 解决MySql8.0 查看事务隔离级别报错的问题

    解决MySql8.0 查看事务隔离级别报错的问题

    这篇文章主要介绍了解决MySql8.0 查看事务隔离级别报错的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • mysql蠕虫复制基础知识点

    mysql蠕虫复制基础知识点

    在本篇内容中我们给大家分享了关于mysql蠕虫复制基础知识点,对此有需要的朋友们跟着学习下吧。
    2019-02-02
  • MySQL的意向共享锁、意向排它锁和死锁

    MySQL的意向共享锁、意向排它锁和死锁

    这篇文章主要介绍了MySQL的意向共享锁、意向排它锁和死锁,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • Mysql高效分页详解

    Mysql高效分页详解

    这篇文章主要为大家详细介绍了Mysql高效分页的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • MySQL四种日志binlog/redolog/relaylog/undolog详解

    MySQL四种日志binlog/redolog/relaylog/undolog详解

    undo log主要存储的也是逻辑日志,比如我们要insert一条数据了,那undo log会记录的一条对应的delete日志,我们要update一条记录时,它会记录一条对应相反的update记录,这篇文章主要介绍了MySQL四种日志binlog/redolog/relaylog/undolog,需要的朋友可以参考下
    2024-08-08
  • mysql语句实现简单的增、删、改、查操作示例

    mysql语句实现简单的增、删、改、查操作示例

    这篇文章主要介绍了mysql语句实现简单的增、删、改、查操作,结合实例形式分析总结了mysql语句实现数据库与表的创建、删除以及增删改查等常见操作技巧,需要的朋友可以参考下
    2019-05-05
  • MySQL执行事务的语法与流程详解

    MySQL执行事务的语法与流程详解

    这篇文章主要介绍了MySQL执行事务的语法与流程的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01

最新评论