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


3
邵琳,一花一世界

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

有什么好办法?

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

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

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

MySQL
评论
·
分享
·

编辑


·
举报

·

2012年05月22日

1 条评论

申芃:别 COUNT 某个 Column 用 COUNT(*) 可能快些。


2012年05月22日



·
回复

共 2 个答案

  • 最新
  • 最受赞同

  • 3
    我是尤里,不想做运维的程序员,不是好的架构师

    说两个简单的招

    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

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。