mysql count很慢,mysql的count(-)的优化,获取千万级数据表的总行数

  mysql count很慢,mysql的count(*)的优化,获取千万级数据表的总行数

  (15)MySQL表数据量超过一百万,计数很慢。-MySQL-Levi UP

  mysql表数据量超过百万,计数非常慢。

  三

  邵琳,即使你花了一个世界的时间也不会有结果。

  有什么好办法吗?

  其实我只是想知道具体的数字,在应用上意义不大。

  主要是你去拿其他小项目的时候做宣传。

  其他操作、插入和查询都相当快。

  MySQL评论

  分享

  编辑

  报告

  2012年5月22日

  总共1条评论

  沈燕:不要计算某一列。使用COUNT(*)可能会更快。

  2012年5月22日

  回答

  关闭

  总共有2个答案是最新的,也是最被认可的。

  三

  我是尤里。我不想做运维程序员。我不是一个好的建筑师。我想做两个简单的动作。

  1) SQL

  你怎么写你的sql语句?如果是table1中不带任何条件的count(*),建议直接使用MyISAM引擎,因为它会自动记录一个表中的总行数,这样的查询几乎不需要读取记录。

  使用where,您必须将索引(包括group by)添加到where查询的列中。

  例如,在a=1和b=2按c分组的情况下,最好在a、b和c上建立一个联合索引,或者至少在a上建立一个索引

  2) mysql调优部分,

  Myisam引擎:添加密钥缓冲区

  Innodb:最重要的是增加innodb_buffer_pool_size,其次是innodb _ additional _ mem _ pool _ size。

  最好两者都增加query_cache_limit、query_cache_size和read_buffer_size。

mysql count很慢,mysql的count(-)的优化,获取千万级数据表的总行数