我用一个30万条数据的数据库测试了一下,发现两个时间差不多,都是0.5x sec你不会是先运行第二个有缓存了,然后运行第一个吧

解决方案 »

  1.   

    30万的数据库,有一个数据是59000多,我limit70000好像也是0.5sec左右不知道你是什么问题
      

  2.   

    呵呵,想不到大家都那么热情啊。谢谢先。
    是的,其实大概也是0.5sec,但第一条所需的时间只是0.002-0.005sec 而已,差太多了。当然了,我估计第二条是逐行(之前我说成了循环)地全表查询了。
    所以我想在第二条原来的基础上试他执行到第N个逐行后(无论是否符合我需要的条件的行)就返回结果,我想知道的就是相关这个技巧。谢谢
      

  3.   

    记得关于数据库的书中好像写到:“对于取值仅有有限几种的字段,不需要加索引”。不过,那个我的理解是指用在查询条件中的字段,之所以不加索引是效果不明显却占用大量空间吧。。在这里,楼主是不是没有给finish_flag加索引阿?呵呵,加了索引就好了
      

  4.   

    to yh801216(艾奥利斯) 
    确实 我对finish_flag加了索引果然快多了。谢谢了不过我很想了解一下索引的原理。能不能给的方向?我在google.com等等找过了,好象都没相关的原理。谢谢
      

  5.   

    买本 《MYSQL 权威指南》吧,这本书还是很好用的。关于索引,要根据实际应用建立。
    字段再多一般都是分 分类、条件字段 以及 一般的资料字段。大多数都是不需要加索引的。整理你的实际应用,看看用到了那些where, group by ,order by ,然后建立适当索引。