分頁之戰:SQL_CALC_FOUND_ROWS 與COUNT(*)
在資料庫分頁領域,出現了一個問題:哪個主導地位——用於決定總數的SQL_CALC_FOUND_ROWS 或COUNT(*) 方法記錄數?
方法 1:SQL_CALC_FOUND_ROWS
此技術需要將 SQL_CALC_FOUND_ROWS 新增至原始 SELECT 查詢,然後執行 FOUND_ROWS() 來擷取總記錄數。
方法二: COUNT(*)
在此方法中,主查詢會正常執行,然後是單獨的SELECT COUNT(*) 查詢以獲得總計數。
結論:情境表現
最快方法的答案取決於情境因素。根據 MySQL 的效能博客,決策過程應考慮索引配置和其他特定於資料庫的注意事項等因素。
部落格文章中的許多使用者評論表明 SQL_CALC_FOUND_ROWS 通常比直接發出兩個查詢慢,有時甚至慢10倍。
因此,在權衡這兩個選項時,評估具體的資料庫環境、索引結構和整體情況至關重要績效目標以做出明智的決定。
以上是SQL_CALC_FOUND_ROWS 與 COUNT(*):哪種資料庫分頁方法比較快?的詳細內容。更多資訊請關注PHP中文網其他相關文章!