1. with 절은 임시 테이블을 사용해서 인덱싱을 못탄다는 점을 고려해보면 순차 io 스캔시 가져오는 데이터의 양이 중요한 영향을 미칠 것임 (많으면 많을수록 버퍼캐시에 한번 올려놓고 쓸 내용이 커질것이므로 악영향을 끼침, 그러나 무조건 나쁜 것은 아님, 아래 내용 참조)
링크에 나오는 예시의 경우
재귀에 이용되는 첫번째 sql는 최초 한번 버퍼캐시에 적재되고 그다음부터는 SGA (또는 Mysql 엔진등)이 두번째 값을 얻는 작업에서 계속해서 재활용할 것이기 때문에 성능상 이점을 가져갈 수 있을 것임,
결론: 버퍼캐시에 쌓이는 데이터의 양 vs 캐시에 쌓인 데이터 재활용 빈도를 저울질해서 이득이 되는 방향으로 진행.
1. with 절은 임시 테이블을 사용해서 인덱싱을 못탄다는 점을 고려해보면 순차 io 스캔시 가져오는 데이터의 양이 중요한 영향을 미칠 것임 (많으면 많을수록 버퍼캐시에 한번 올려놓고 쓸 내용이 커질것이므로 악영향을 끼침, 그러나 무조건 나쁜 것은 아님, 아래 내용 참조) 링크에 나오는 예시의 경우 재귀에 이용되는 첫번째 sql는 최초 한번 버퍼캐시에 적재되고 그다음부터는 SGA (또는 Mysql 엔진등)이 두번째 값을 얻는 작업에서 계속해서 재활용할 것이기 때문에 성능상 이점을 가져갈 수 있을 것임, 결론: 버퍼캐시에 쌓이는 데이터의 양 vs 캐시에 쌓인 데이터 재활용 빈도를 저울질해서 이득이 되는 방향으로 진행.
양질의 답변 감사합니다. DB내부의 캐싱에 대해서 한번 공부해보고 다시 접근해야겠어요