我有這個查詢來選擇最小的ID。它似乎在前幾次點擊中運行良好,但當我繼續點擊調用此查詢的按鈕時,它會變得非常緩慢。mysql select min性能問題
此查詢的任何解決方法?
"select min(t1.blog_id) as min_id
FROM
(SELECT blog_id FROM myblogs_view
where blog_id<'$id' ORDER BY blog_id DESC LIMIT 10) as t1";
我有這個查詢來選擇最小的ID。它似乎在前幾次點擊中運行良好,但當我繼續點擊調用此查詢的按鈕時,它會變得非常緩慢。mysql select min性能問題
此查詢的任何解決方法?
"select min(t1.blog_id) as min_id
FROM
(SELECT blog_id FROM myblogs_view
where blog_id<'$id' ORDER BY blog_id DESC LIMIT 10) as t1";
有一兩件事我想補充:如果您使用查詢分頁,你應該看看How can I speed up a MySQL query with a large offset in the LIMIT clause?
你可能會問,爲什麼是它有關?你描述了當你點擊下一頁時,你的查詢運行緩慢,當你點擊繼續。這可能是當你達到很大的偏移量時。我的猜測是你使用你的查詢來計算一個偏移量,然後你用它來獲取帶有限制偏移量查詢的相關記錄。那是對的嗎?如果是這樣,那麼你的其他查詢可能會從我提供的鏈接中受益(我不是該答案的作者,在信用到期時給予信用)。
「繼續點擊」是什麼意思?這個查詢是否每次都被執行_exactly_,或者做了什麼改變? – 2011-04-30 10:00:30
這是我的下一頁獲取最小ID的查詢。所以每次點擊下一頁按鈕時,都會執行此查詢。 – drew 2011-04-30 10:04:08