둘중에 어떤게 빠를까여? 저는 280만 되는 테이블에서 테스트 결과 크게 차이가 없었습니다. 더 훌륭한 분들에 조언 부탁 드립니다! 1. select ( select count(*) from table1 where gul_gum_code = 'C010' ) as C1_Count , count(*) C0_Count from table1 where gul_gum_code = 'C011'; 2. select SUM(case when gul_gum_code = 'C010' then 1 else 0 END) as C010Count, SUM(case when gul_gum_code = 'C011' then 1 else 0 END) as C011Count from table1;
-- 테이블 total count : 2,809,537 -- 1번 -- 조회 시간 : 1.13s, 1.30s, 1.264s, 1.125, 1.65 select ( select count(*) from 테이블 where gul_gum_code = 'C010' ) as C1_Count , count(*) C0_Count from 테이블 where gul_gum_code = 'C011'; -- 2번 -- 조회시간 : 1.126s, 0.983s, 0.981s, 0.981s, 1.6s select SUM(case when gul_gum_code = 'C010' then 1 else 0 END) as C010Count, SUM(case when gul_gum_code = 'C011' then 1 else 0 END) as C011Count from 테이블; -- 2-1번 2번에서 else 부분을 제거 한다. -- 조회시간 : 0.85s, 0.801s, 0.869s, 0.944s, 0.914 select SUM(case when gul_gum_code = 'C010' then 1 END) as C010Count, SUM(case when gul_gum_code = 'C011' then 1 END) as C011Count from 테이블 -- 2-2번 2-1번에서 조건절을 추가! -- 조회시간 : 0.648s, 0.690s, 0.576s, 0.647s, 0.584s select SUM(case when gul_gum_code = 'C010' then 1 END) as C010Count, SUM(case when gul_gum_code = 'C011' then 1 END) as C011Count from 테이블 where gul_gum_code in ('C010', 'C011');