≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 数据库 > MySQL

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

人气:392 时间:2020-07-09

这篇文章主要为大家详细介绍了关于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则主要在扫描索引,同时要返回结果记录时的作用较大。

本文来自:http://www.q1010.com/177/10054-0.html

注:关于关于MySQL中innodb的count优化问题分享的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:MYSQL

您可能感兴趣的文章

  • MySQL的查询缓存说明
  • MySQL alter语句用法实例
  • Linux下指定MySQL数据库数据配置主主同步的实例
  • 解决bash: MySQL: command not found 的方法
  • MySQL中的find_in_set的使用方法介绍
  • SQL字符型字段按数字型字段排序实现方法
  • Windows环境下重置MySQL密码操作命令
  • MySQL 无法连接问题的定位和修复过程分享
  • 基于ubuntu中使用MySQL实现opensips用户认证的解决方法
  • 基于unique与primary约束的区别分析
上一篇:有关MySQL优化的一些东东整理
下一篇:MySQL alter语句用法实例
热门文章
  • mysql 修改character_set_server为utf-8的简单示例
  • 解决MySQL丢失文件localhost.localdomain.pid、mysql.sock的示例
  • MySQL 数据类型binary和varbinary的简单示例
  • MySQL:reading initial communication packet问题解决方法
  • MySql 表类型MYISAM、InnoDB区别
  • bash: mysql: command not found 的解决方法
  • MYSQL默认用户名ROOT修改方法
  • MySQL 常用命令菜鸟教程
  • MySQL 使用命令行新建用户并授予权限
  • MySql 数据库物理文件存放位置查看示例
  • 最新文章
    • MySQL查看死锁与解除死锁的简单示例
    • MySQL 慢查询的功能实例
    • MySQL查看死锁与去除死锁的简单示例
    • MySQL找出未提交事务的SQL的简单示例
    • MySQL锁阻塞的的简单示例
    • MySQL中的binary类型使用操作的示例
    • SQL优化教程之in与range查询的简单示例
    • MySQL 的 21 个规范、优化最佳实践!
    • MySQL 字符类型大小写敏感的简单示例
    • 解决mybatis-plus分页传入参数后sql where条件没有limit分页信息的问题

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。