說我有10萬行的表格,我想用特定的Where子句獲取50行的行數如何加速mysql查詢,當我有百萬條記錄,並必須獲取記錄在50平板?
這樣做的標準方法:select * from table where userid = 5 limit 50 offset 90500;
這運行緩慢。 原因:首先分析所有100,000行,並在最後階段應用限制。
任何想法如何加快這一點。任何人 ?
說我有10萬行的表格,我想用特定的Where子句獲取50行的行數如何加速mysql查詢,當我有百萬條記錄,並必須獲取記錄在50平板?
這樣做的標準方法:select * from table where userid = 5 limit 50 offset 90500;
這運行緩慢。 原因:首先分析所有100,000行,並在最後階段應用限制。
任何想法如何加快這一點。任何人 ?
將一個索引放在「userid」上應該確實有幫助。
1 - 使用ORDER BY可以改善,但沒有那麼多;
2 - 啓用緩存,然後從緩存中進行選擇可以改善查詢;
3 - 設置索引有幫助,但沒有太多。
ORDER有關係嗎?如果你按'ORDER BY'鍵,它可能會更快。 – Galz 2011-03-01 11:40:48
您需要鑽孔直到抵消'90,500'的任何特定原因? – ajreal 2011-03-01 13:54:30