• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 关于mysql中innodb的count优化问题分享

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

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了innodb,count优化等相关知识,希望本文的分享对您有所帮助

关于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则主要在扫描索引,同时要返回结果记录时的作用较大。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 探讨:innodb与myisam在存储上有何特点和区别
  • 深入MySQL存储引擎比较的详解
  • 浅谈MySQL存储引擎选择 InnoDB与MyISAM的优缺点分析
  • 深入探讨:MySQL数据库MyISAM与InnoDB存储引擎的比较
  • 关于mysql中innodb的count优化问题分享
  • MySQL Innodb表导致死锁日志情况分析与归纳
  • 关于mysql innodb count(*)速度慢的解决办法
  • InnoDB引擎数据库主从复制同步新的分享
  • show engine innodb status显示信息不全如何解决
  • MyISAM和InnoDB引擎优化分析

相关文章

  • 2018-12-05MySQL中的if和case语句的使用
  • 2017-05-11Mysql select in 按id排序实现方法
  • 2017-05-11mysql优化取随机数据慢的方法
  • 2018-12-05关于MySQL中存储的全角字符以及半角字符的区别详解
  • 2018-12-05DDL
  • 2017-05-11mysql中模糊查询的四种用法介绍
  • 2018-12-05sql 查询本年、本月、本日记录的语句,附SQL日期函数
  • 2018-12-05oracle em 按钮乱码解决办法及em网页变成英文
  • 2018-12-05Mysql配置版安装_MySQL
  • 2017-05-11MySQL中show命令方法得到表列及整个库的详细信息(精品珍藏)

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • sqlsever为标识列指定显式值
    • 详解MySQL5.6.36在Windows x64位版本下的安装教程(图)
    • MySQL Cluster搭建与测试
    • MySQL索引的使用
    • mysql字段类型选择方法
    • MySQL 存储过程中执行动态SQL语句的方法
    • MySQL安装之编码设置的图文详解
    • 基于ubuntu中使用mysql实现opensips用户认证的解决方法
    • 关于mysql中多表查询详解
    • MySQL索引背后的之使用策略及优化(高性能索引策略)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有