mysql表数据量超过百万条了,count很慢。。

(15) mysql表数据量超过百万条了,count很慢。。 - MySQL - 乐维UP


3
3dde9d9afdddd5bb34375f3d7cdc3bf6490309
,一花一世界

count一下1800s也不能出结果。

有什么好办法?

其实我只是想知道具体条数,这个数目在应用中意义不大,

主要是为了去拿别的小项目时候宣传用。

其它的操作,插入和查询都挺快了。

 

1 条评论

User_missing_tiny
别 COUNT 某个 Column 用 COUNT(*) 可能快些。


2012年05月22日



·
回复

共 2 个答案


3
56f75da2683faa01d781b1ed1eb7cdf1166156
,不想做运维的程序员,不是好的架构师

说两个简单的招

1) SQL

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

带where的,则必须在where 查询的列加索引(包括group by)

比如where a=1 and b=2 group by c, 则最好在a,b,c 上建立一个联合索引,至少也要在a上建立一个索引

2) mysql 调优部分,

myisam引擎: 增加key_buffer

innodb: 增加innodb_buffer_pool_size 最重要,其次是 innodb_additional_mem_pool_size

两者都最好增加query_cache_limit,query_cache_size,read_buffer_size

原文地址:https://www.cnblogs.com/lexus/p/2561160.html