order by 恐怕优化不了,1秒多也不慢呀。

解决方案 »

  1.   

    20W条不多,建议重新设计数据库,新建一个列,储存LENGTH( title ) ,在插入时,用 strlen($title) 计算。然后这个新的列建立索引。(如果id是自增的话,可以尝试把 id和这个新列 作为一个primary key)
    另外,不要用SELECT * ,用 SELECT title,content,date 之类的,把你需要的列写出来。
      

  2.   

    做一个 LENGTH( title ) 的索引
    你的排序规则很怪异哟
      

  3.   

    desc SELECT * 
    FROM add
    ORDER BY LENGTH( title ) DESC 
    LIMIT 10分析下sql,关键字段加上索引。
      

  4.   

    select * 可以不用返回 全部字段吗? 可以在存储的时候多一个字段来存储 LENGTH( title ) 的值 ,并且用两个触发器维护这个值(update和insert)后都要维护,再在这列上建立索引 ,应该会好一点吧