【发布时间】:2012-08-23 18:15:50
【问题描述】:
哪个查询会更快
SELECT CASE WHEN EXISTS (SELECT 1 FROM table WHERE 条件) 那么'Y' 否则'N' 从双重结束
或
SELECT 1 FROM table WHERE 条件
对于他们两个,我将 fetchSize 设置为 1。
但是,我想知道如果我使用第二个查询,我只需要检查 if ( rs.next() ),而对于第一个查询,我需要检查一个附加条件rs.getString(1).equals("Y")。同时我想知道如果在sql中使用when存在,会以某种方式使查询更快?
我检查了其他问题The fastest way to check if some records in a database table? 和Fastest way to check if set exists in database set,他们谈论使用存在。所以,只是想知道我是否应该使用exists,以及如果我需要使用它来使查询更快,它如何使查询更快?
【问题讨论】:
标签: java sql oracle prepared-statement