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 扫描起来,显然更快。

 

查看原文