select * from book where AdminReplied='1' order by time desc limit 7上边的那段代码,我只要求读出7个记录就行了,我得book表中有几万条记录,我在AdminReplied  和  time  都创建了索引,但是每次查询的话,还是要读出几万条记录,严重影响了效率,哪位高手能给小弟指点下吗,真是非常感谢!!!

解决方案 »

  1.   

    对了,我得AdminReplied中只有0和1这两个值,所以我在这列创建索引的话,其实只有2个基数的效果
      

  2.   

    逻辑很清楚了,没办法再优化了吧。肯定是要在几万条记录里找出AdminReplied= '1 '的,再排序,最后返回前7个,这些都是你要求的做的,还怎么优化。个人认为从代码上不能再优化了,等高手回答,学习~~~
      

  3.   

    AdminReplied中只有0和1这两个值,没有索引的必要
      

  4.   

    select * from 
    建议少用"*"
      

  5.   

    谢谢各位高手的建议,如果我加个id>20000这个条件的话,它就减少了20000的查询量,这样是不是更好点,就是不能自动化了
      

  6.   

    time上建索引也不能解决得到几万条数据的问题吧