最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-09 09:46:55
文档

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

关于mysql中innodb的count优化问题分享:关于mysql中innodb的count优化问题,有需要的朋友可以参考下 一般采用二级索引去count:比如:id 是pk aid是secondary index 采用 代码如下:select count(*) from table where id >=0;或select count(*) from table;效
推荐度:
导读关于mysql中innodb的count优化问题分享:关于mysql中innodb的count优化问题,有需要的朋友可以参考下 一般采用二级索引去count:比如:id 是pk aid是secondary index 采用 代码如下:select count(*) from table where id >=0;或select count(*) from table;效


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

文档

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

关于mysql中innodb的count优化问题分享:关于mysql中innodb的count优化问题,有需要的朋友可以参考下 一般采用二级索引去count:比如:id 是pk aid是secondary index 采用 代码如下:select count(*) from table where id >=0;或select count(*) from table;效
推荐度:
标签: mysql 优化 中count
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top