在驗證 MySQL 表中是否存在特定行時,有幾種可行的方法。本文將檢視兩種常見查詢模式的效能特徵,並介紹另一種替代方法:EXISTS。
<code class="language-sql">SELECT COUNT(*) AS total FROM table1 WHERE ...</code>
如果傳回的總計不為零,則表示存在符合的行。
<code class="language-sql">SELECT * FROM table1 WHERE ... LIMIT 1</code>
非空結果集表示存在一行。
COUNT 和 LIMIT 方法都需要從資料庫檢索結果資料。但是,您也可以使用 EXISTS 子查詢來檢查是否存在而不提取任何資料:
<code class="language-sql">SELECT EXISTS(SELECT * FROM table1 WHERE ...)</code>
根據 MySQL 文檔,EXISTS 子查詢中的 SELECT 列表無關。因此,您可以使用任何任意表達式:
<code class="language-sql">SELECT EXISTS(SELECT 'dummy' FROM table1 WHERE ...)</code>
最佳方法取決於您的應用程式的具體需求。
最終,應透過測試和分析來確定最佳策略,以確定最適合您特定工作負載的方法。
以上是哪個 MySQL 查詢最適合用來檢查表格行是否存在:COUNT、LIMIT 或 EXISTS?的詳細內容。更多資訊請關注PHP中文網其他相關文章!