제가 맡은 첵뵀?중 일부를 변경해야 할 일이 생겼습니다. 관련 저장 프로시저를 열어보니 그 회사의 DBA가 수정을 했더군요.
원래 코드는 다음과 유사합니다.
SELECT * FROM data_table
그런데 그 사이 몇가지 조건이 바뀌었는지 다음과 같이 바꾸어 놨더라구요.
CREATE TABLE #temp_table(id int )
INSERT INTO #temp_table VALUES (99)
INSERT INTO #temp_table VALUES (999)SELECT * FROM data_table
WHERE id IN (SELECT * FROM #temp_table)
도대체 왜 임시 테이블을 쓰나 한 2분간 고민했습니다. 보통 때라면 황당하지 않았을텐데, 명색이 한 회사의 DBA가 이런 쿼리를 짜 놨으니 심오한 의미가 있나 생각했습니다. -_-