不要limit 这方法,还有select count(*) from table
数据在几百万内, 执行要5秒多,我MYSQL 要怎么配制才解决这个问题,或者有什么其他好的方法,分数不够可以在加上去

解决方案 »

  1.   


    show table status like '%table%';
      

  2.   

    show table status like '%table%';得到的行数不精确,
      

  3.   

    用存儲過程來實現
    但中間還要用到limit
    先計算總筆數,需要分多少頁,然後提取每頁的資料
      

  4.   

    limit 100000,222;到了10W都很非常快的。至于你要得到COUNT总数的速度提升。如果你用MYISAM引擎,百万级别的数据是非常块的,不到一秒钟。以后就从CACHE中取了。如果是INNODB或者其他事务引擎。建立一个触发器来计数,存放到另外一个表里。
      

  5.   

    MYISAM引擎 是很快,但是他没有事务,我用的时候需要用到事务,limit 百万非常的慢,要好几秒,大家有没有好的mysql分页程序
      

  6.   

    大家有没有提供MYSQL 的高效分页的存储过程
      

  7.   

    mysql 5.1里面能自动hash分表,暂时还没有完善。
    相信不久以后这个功能会很实用的,就不用自己写程序分表了。-- 
    http://www.xiaochn.cn/
    人生就像冰箱,装满是为了掏空,而不是保存
    ----------------------------------------
    http://shop35711789.taobao.com/
    提供新西兰特产、世界顶级蜂蜜,各位朋友常来看看 
      

  8.   

    百万级别的不需要考虑什么。
    用MYSQL自己的LIMIT就可以了。