如何決定 MySQL 查詢傳回的行數
在 MySQL 查詢領域,通常需要決定特定查詢產生的行數。此計數提供了有關結果集的大小和內容的寶貴見解。讓我們探索實現此目的的各種方法。
迭代行計數
最簡單的方法是迭代結果行並遞增計數器,但此方法可能效率較低對於大型資料集。
mysql_num_rows() 函數
對於使用MySQL 客戶端函式庫的人來說,mysql_num_rows() 函數提供了一種直接方法來檢索行計數一個結果集。它在 PHP 中的等效項是 mysqli_num_rows()。
COUNT(*) 函數
要計算符合特定條件的行數,請使用 COUNT(*) 函數一個查詢。例如:
<code class="sql">SELECT COUNT(*) FROM foo WHERE bar= 'value';</code>
SQL_CALC_FOUND_ROWS 和FOUND_ROWS()
要確定使用LIMIT 子句的查詢中的總行數查詢,請在後面的初始初始階段使用_CALC_FOUND透過SELECT FOUND_ROWS():
<code class="sql">SELECT SQL_CALC_FOUND_ROWS * FROM foo WHERE bar="value" LIMIT 10; SELECT FOUND_ROWS();</code>
其他注意事項
處理大型表時,使用SQL_CALC_FOUND_ROWS 可能效率低下。對於這種情況,請考慮執行單獨的計數查詢並快取結果以供將來參考。
棄用 SQL_CALC_FOUND_ROWS
從 MySQL 版本 8.0.17 開始,SQL_CALC_FOUND_ROWS 函數已棄用並將在未來版本中刪除。建議的方法是發出單獨的查詢來計算行數。
以上是如何確定 MySQL 查詢傳回的行數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!