我正在尝试找到确定表行是否存在的最有效方法。
我想到了 3 个选项:
SELECT EXISTS(SELECT 1 FROM table1 WHERE some_condition);
SELECT 1 FROM table1 WHERE some_condition LIMIT 0,1;
SELECT COUNT(1) FROM table1 WHERE some_condition;
对于MySQL,似乎第一种方法更有效: Best way to test if a row exists in a MySQL table
对于任何数据库来说,这通常都是正确的吗?
更新:
我添加了第三个选项。
更新 2:
假设数据库产品是mysql、oracle和sql-server。
最佳答案
我愿意
SELECT COUNT(1) FROM table 1 WHERE some_condition.
但我不认为它会产生显着差异,除非您经常调用它(在这种情况下,我可能会使用不同的策略)。
关于mysql - 一种测试表行是否存在的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9026184/