像這樣的查詢往往會耗費十幾秒的時間
select * from news where cat_id = 4 order by id desc limit150000, 10
改進後
select id, value, length(stuffing) as len from t_limit order by id limit 150000, 10
仍然需要數秒, 但是, 如果將id作為子查詢
select l.id, value, length(stuffing) as len
from ( select id from t_limit order by id limit 150000, 10) o
join t_limit l on l.id = o.id
order by l.id
這樣查詢在數十毫秒就可以完成. 具體的解釋看 mysql order by / limit performance: late row lookups MySQL查詢優化技術之使用索引
索引是提高查詢速度的最重要的工具。當然還有其它的一些技術可供使用,但是一般來說引起最大效能差異的都是索引的正確使用。在mysql郵件列表中,人們經常詢問那些讓查詢執行得更快的方法 索引是提高查詢速度的最重要的工具。當然還有其它的一些技術可供使用,但是一般來說引起最大效能差異的都是索引的正確使用。在m...
MySQL 使用索引覆蓋優化業務查詢
一 在mysql表中,有一項無法忽略的部分,那就是索引 因為它直接或間接的決定了業務查詢的時間複雜度。乙個差的索引,會導致sql操作需要掃瞄全表,來查出符合條件的資料行,這當然是乙個悲劇。我們有必要,但也很容易去避免以下這種情況的發生,只要針對業務查詢建對應的索引就可以了。但是,只需要建出對應的索引...
2 mysql優化之使用索引優化查詢
索引是資料庫優化中最常用的也是最重要的手段之一。該篇看看索引的分類,使用場景,不能使用的場景等。索引是在mysql儲存引擎中實現的,而不是在伺服器層實現的。索引每種儲存引擎的索引不一定相同。mysql支援4種索引 衍生索引 主鍵,唯一索引,組合索引,字首索引等。hash索引適合key value查詢...