1

哪个查询会更快

SELECT CASE WHEN EXISTS (SELECT 1 FROM table WHERE 条件) THEN 'Y' ELSE 'N' END FROM DUAL

或者

SELECT 1 FROM table WHERE 条件

对于他们两个,我将fetchSize设置为 1。

但是,我想知道如果我使用第二个查询,我只需要检查if ( rs.next() ),而对于第一个查询,我需要检查一个附加条件rs.getString(1).equals("是”)。同时我想知道是否在sql中使用when存在,以某种方式使查询更快

我已经检查了其他问题检查数据库表中是否有某些记录的最快方法是什么?检查集合是否存在于数据库集中的最快方法,他们谈论使用存在。所以,只是想知道我是否应该使用exists,如果我需要使用它来使查询更快,它是如何使查询更快的呢?

4

2 回答 2

1

关于你可以获得'no_data_found'或'to_many_rows',这会导致阅读字典以获取错误代码等等,使用语句'SELECT 1 FROM table WHERE condition'第一种方法会更快

于 2012-08-23T18:20:05.807 回答
0
SELECT 1 FROM table WHERE condition

如果结果集没有返回任何行,则表示不满足条件,否则满足条件。

它更好、更清洁、更短、更快。

于 2012-08-23T18:37:20.883 回答