MySQL中的Found Rows可以用于獲取SELECT語句執行后所匹配的行數。它不是返回實際行數,而是返回可能匹配的總行數,比如使用了LIMIT和OFFSET限制的SELECT語句。
SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE condition LIMIT 10 OFFSET 20; SELECT FOUND_ROWS();
上面的示例中,第一條語句使用了LIMIT和OFFSET將結果限制在10條數據上,第二條語句返回可能匹配的總行數。
在使用Found Rows時,需要注意以下幾點:
- 使用FOUND_ROWS()函數時必須在第一條SELECT語句使用SQL_CALC_FOUND_ROWS。
- Found Rows返回的是可能匹配的總行數,不是實際行數。
- Found Rows的性能較低,因為它需要在主查詢之后才能執行。
- Found Rows在使用GROUP BY和DISTINCT時返回的可能匹配的總行數也是有錯誤概率的。