测试 MySQL 表中是否存在行的最佳方法

2024-01-03

我试图找出表中是否存在一行。使用 MySQL,执行如下查询是否更好:

SELECT COUNT(*) AS total FROM table1 WHERE ...

并检查总数是否非零,或者最好执行如下查询:

SELECT * FROM table1 WHERE ... LIMIT 1

并检查是否返回任何行?

在这两个查询中,WHERE 子句都使用索引。


你也可以尝试EXISTS:

SELECT EXISTS(SELECT * FROM table1 WHERE ...)

and per 文档 http://dev.mysql.com/doc/refman/5.0/en/exists-and-not-exists-subqueries.html, 你可以SELECT任何事物。

传统上,EXISTS 子查询以 SELECT * 开头,但它可以 从 SELECT 5 或 SELECT column1 或任何其他内容开始。MySQL 忽略此类子查询中的 SELECT 列表,因此没有区别。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

测试 MySQL 表中是否存在行的最佳方法 的相关文章

随机推荐