开发中经常遇到新增数据时判断该数据是否已经存在做唯一性校验。
对常用的方法做个比较。
SELECT COUNT(*) FROM TABLE T WHERE T.XX = 'XX'; --耗时3s
SELECT 1 FROM TABLE T WHERE T.XX = 'XX'; -- 耗时0.04s
SELECT 1 FROM DUAL WHERE EXISTS (SELECT 1 FROM TABLE T WHERE T.XX = 'XX');-- 耗时0.015s
SELECT COUNT(*) FROM DUAL WHERE EXISTS (SELECT 1 FROM TABLE T WHERE T.XX = 'XX');-- 耗时0.015s
测试数据 100000条以上。
🥳