效能比較:SQL_CALC_FOUND_ROWS 與SELECT COUNT(*)
使用分頁查找查詢中的記錄總數時,兩個方法出現:SQL和SELECT COUNT(*)。確定最佳方法取決於多種因素。
方法 1:SQL_CALC_FOUND_ROWS
此方法在初始 SELECT 查詢中使用 SQL_CALC_FOUND_ROWS,然後使用 FOUND_ROWS() 擷取總數行數。語法如下:
SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE id > 100 LIMIT 10; SELECT FOUND_ROWS();
方法2:SELECT COUNT(*)
或者,單獨的查詢使用SELECT COUNT(*) 對行進行計數,執行原始查詢後。語法為:
SELECT * FROM table WHERE id > 100 LIMIT 10; SELECT COUNT(*) FROM table WHERE id > 100;
效能評估
每種方法的效能依索引可用性和查詢複雜性等因素而有所不同。 MySQL 效能部落格的一項綜合分析顯示:
最終,理想的方法取決於特定的上下文和應用程式要求。正如在性能部落格文章中所述,「這取決於您的索引和其他因素。」
以上是SQL_CALC_FOUND_ROWS 與 SELECT COUNT(*):哪個分頁速度較快?的詳細內容。更多資訊請關注PHP中文網其他相關文章!