【mysql】mysql统计查询count的效率优化问题

mysql统计查询count的效率优化问题  

涉及到一个问题

 

就是 mysql的二级索引的问题,聚簇索引和非聚簇索引 引申地址:https://www.cnblogs.com/sxdcgaq8080/p/9529489.html

 

有一个结论是:

采用 secondary index 查询要比用 primary key 查询来的快很多。那么,为什么用 secondary index 扫描反而比 primary key 扫描来的要快呢?
我们就需要了解innodb的 clustered index【聚簇索引】 和 secondary index 【二级索引】之间的区别了。   >innodb 的 clustered index 是把 primary key 以及 row data 保存在一起的, 即[主键]--->[整条数据]
  >secondary index 则是单独存放,然后有个指针指向 primary key。    即[二级索引]--->[主键]

因此,需要进行 count(
*) 统计表记录总数时,利用 secondary index 扫描起来,显然更快。

 

posted @ 2018-08-24 11:09  Angel挤一挤  阅读(1640)  评论(0编辑  收藏  举报