Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有两种不同的方法来检查现有条目。
方法一
SQL:SELECT COUNT(*) FROM ...
SELECT COUNT(*) FROM ...
PHP:
$result = fetch_row(); if($result[0] > 0) // entry found
方法二
SQL:SELECT 1 FROM ... LIMIT 1
SELECT 1 FROM ... LIMIT 1
$result = num_rows(); if($result > 0) // entry found
就性能而言,正确的方法是什么?
两者都是正确和好的。但是我会建议第二个,因为您限制为 1 条记录,并且当您获得记录时它会停止,而首先您正在计算所有记录。
当您需要查找存在多少条记录时,第一个“count *”很重要。
当有许多行匹配您的查询时,后者效率更高,因为在第一种情况下,MySQL 必须找到所有这些行才能返回正确的计数值,而在第二种情况下,它将在找到第一个后停止搜索。