4개의 테이블을 union으로 조회하는 쿼리가 있습니다.
그냥 쿼리만 실행하면 7~80ms로 바로 조회가 되는데,
이걸 그대로 함수로 만들어서
select uf_test('abc',100);
이런식으로 실행하면, 600전후 ms가 나오네요.
함수안에는 그냥 따로 조회해서 7~80ms나왔던 그 쿼리만 딸랑 들어있습니다.
쿼리가 좀 길어서 여기저기서 사용하는데가 많아서 함수로 만든건데,
원래 함수로 만들어서 조회하면 이렇게 느려지는가요?
저도 정확히는 모르지만.함수를 사용하면
아무래도 해당 library를 호출하고 하는 부분에 있어서 좀 더 속도가 걸릴것으로 보여집니다.
auto_explain 모듈을 사용하시면 함수도 explain을 볼수가 있으니 한번 해당쿼리의 explain과 비교하시길 바랍니다.