首頁 > 後端開發 > php教程 > MYSQL这个如何优化

MYSQL这个如何优化

WBOY
發布: 2016-06-13 11:54:20
原創
706 人瀏覽過

MYSQL这个怎么优化
SELECT * 
FROM add
ORDER BY LENGTH( title ) DESC 
LIMIT 10

数据20W条,执行要1秒多。。。。怎么优化哇 
------解决方案--------------------
这已经是最简单的了啊 还怎么优化啊 建议用缓存吧 查询的结果缓存起来 不需要反复查询了
------解决方案--------------------
order by 恐怕优化不了,1秒多也不慢呀。
------解决方案--------------------
20W条不多,建议重新设计数据库,新建一个列,储存LENGTH( title ) ,在插入时,用 strlen($title) 计算。然后这个新的列建立索引。(如果id是自增的话,可以尝试把 id和这个新列 作为一个primary key)
另外,不要用SELECT * ,用 SELECT title,content,date 之类的,把你需要的列写出来。
------解决方案--------------------
做一个 LENGTH( title ) 的索引
你的排序规则很怪异哟
------解决方案--------------------
desc SELECT * 
FROM add
ORDER BY LENGTH( title ) DESC 
LIMIT 10

分析下sql,关键字段加上索引。
------解决方案--------------------
关键字加索引能提升不少效率。
------解决方案--------------------
select * 可以不用返回 全部字段吗? 可以在存储的时候多一个字段来存储 LENGTH( title ) 的值 ,并且用两个触发器维护这个值(update和insert)后都要维护,再在这列上建立索引 ,应该会好一点吧

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板