mysql的SQL_CALC_FOUND_ROWS 使用 相似count(*) 使用性能更高mysql
在不少分頁的程序中都這樣寫: SELECT COUNT(*) from `table` WHERE ......; 查出符合條件的記錄總數 SELECT * FROM `table` WHERE ...... limit M,N; 查詢當頁要顯示的數據 這樣的語句能夠改爲: SELECT SQL_CALC_FOUND_ROWS * FROM `table` WHERE ...... limit M, N; SELECT FOUND_ROWS(); 這樣只要執行一次較耗時的複雜查詢能夠同時獲得與不帶limit一樣的記錄條數 第二個 SELECT返回一個數字,指示了在沒有LIMIT子句的狀況下,第一個SELECT返回了多少行 (若上述的 SELECT語句不包括 SQL_CALC_FOUND_ROWS 選項,則使用LIMIT 和不使用時,FOUND_ROWS() 可能會返回不一樣的結果)。