透過分塊高效檢索大型 MySQL 選擇
在 MySQL 中處理大型資料集通常會導致資料擷取期間出現記憶體問題。為了解決這個問題,分塊提供了一個有效的解決方案。
分塊技術
分塊涉及將大型選擇查詢拆分為較小的子集。透過這樣做,您可以在可管理的部分中處理數據,從而防止記憶體限制。
考慮以下範例:
SELECT * FROM MyTable ORDER BY whatever LIMIT 0,1000;
此查詢從 MyTable 擷取前 1,000 行。要檢索接下來的1,000 個,您需要增加LIMIT 偏移量:
SELECT * FROM MyTable ORDER BY whatever LIMIT 1000,1000;
維護行順序
為了確保保持行順序,請建立一個臨時表作為原始表的快照:
CREATE TEMPORARY TABLE MyChunkedResult AS ( SELECT * FROM MyTable ORDER BY whatever );
在對結果進行分塊時,此臨時表將保存有序資料:
SELECT * FROM MyChunkedResult LIMIT 0, 1000;
增加後續區塊的LIMIT偏移量.
注意事項
透過實現這種分塊技術,您可以有效地以區塊的形式檢索大型 MySQL select 結果,避免記憶體問題並提高效能.
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3