by 개발뉴비 [SQLServer] #SQL SERVER #WHERE절 #OR조건 #EXISTS #UNION ALL [2017.11.15 14:00:43]
/* WHERE절 조건에서 OR 조건을 사용하는 것과 EXISTS 문에 UNION ALL을 사용하여 조회하는 것이 속도에 어떤 영향이 있는지 궁금해서 문의드립니다. 아래와 같은 다른 형태의 WHERE조건 사용시 속도차이가 많이 날까요? */ -- EX 1) SELECT * FROM table_1 t1 WHERE ( (p_text = '') OR (p_text = '1' AND t1.col_1 = 'a') OR (p_text = '2' AND t1.col_1 = 'b' AND t1.col_2 = '*') ) -- EX 2) SELECT * FROM table_1 t1 WHERE EXISTS ( SELECT 1 WHERE p_text_ = '' UNION ALL SELECT 1 WHERE p_text = '1' AND t1.col_1 = 'a' UNION ALL SELECT 1 WHERE p_text = '2' AND t1.col_1 = 'b' AND t1.col_2 = '*' )