我必须检查一个值(字符串)是否在我的数据库中。
此刻我在做一个
select a.email,b.vuid from user a, verteiler_user b where a.email=\''.$email.'\' and a.kid=' 。 $ child 。和 b.vid=' 。 $视频。 ' 和 a.uid = b.uid
作为使用 mysql_num_rows
的查询,然后检查 if >=1
但是做一个limit为1的查询是不是更快? ?并检查一行是否回来了?
最佳答案
是的。运行 limit 1
查询会更快。如果您所做的只是检查一行是否存在,为什么还要返回所有这些列呢?只需选择 1
。这将(可以忽略不计)更快。顺便说一句:您的代码看起来容易受到 SQL 注入(inject)攻击。考虑使用 mysql_real_escape_string()
清理查询的动态部分或类似的功能。
关于php - mysql 速度 mysql_num_rows 与查询限制 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6302252/