카디널리티 추정에 사용되는 알고리즘을
거의 유사하게 유추해낼 수 있었을까
카디널리티 추정은
RDBMS의 핵심 기술로 인덱스 통계를
기반으로 하여금 예상 행을 추정하여
여러 실행계획 중 연산자별 비용을 계산하여
최대한 최적의 실행계획을 자동으로 도출해내는
(모든 실행계획을 평가하지 않고 이또한 대부분의 경우에서
유리한 예비 실행계획 N개를 도출해내는 알고리즘이 있음)
기술이며 이는 상용RDBMS는 모두 상세한 정보를
제공하지 않는다.
현재는 스키마와 인덱스 통계의 상태를 보고
뇌내에서 실행계획을 컴파일하여 어떠한 연산자가 나오고
io는 얼마나 나올지가 어느정도 예상이 되는 상태인데
완전히 정복하지 못한 부분이 이 카디널리티 추정이다.
테스트케이스를 마련하여 여러가지 실험을 하여도
거의 대부분이 카디널리티 추정이 도출해낸 예상행과
내가 통계를보고 계산한 예상행이 달라서
수학적 능력에 기반한 의문을 품게 된것...
따라서 수학을 좀더 공부를 하던
오픈소스 RDBMS에서 이부분에 대해
공개하였는지를 찾아봐야 할것 같다
- dc official App
아니면 오랜 경험이 이를 유추할 수 있게 만드는것이려나 - dc App
MySQL 코드 까도 없음?
아직 안해봤슘 나중에 상용db하나 따로 독학할껀데 그때 까볼듯 - dc App
상용이랸다 오픈소스 - dc App
DB만진다고 정신이 살짝 이상해졌네 그런 기반의 결국 통계기반으로 귀결되는데 고졸은커녕 대졸도 특수계로 한정하는 분야임 그냥 쿼리나 수정해 - dc App
진짜 수학을 뒤지게 잘하던 짬빠채워서 최대한 비슷하게 감을 잡던 마소 sqlserver 개발팀되던 셋중 하나겠네 현실적으로 그나마 가능한건 2번이고 - dc App
안그래도 이번에 옵티마이저 업계 중고급이상 레벨 강의 참석하는데 거기서 힌트라도 얻을 수 있을까 싶음 - dc App
화이팅
https://www.vldb.org/pvldb/vol15/p752-zhu.pdf
오 완전 좋은데? 영어를 못해서 번역을 해야겠다만.. 벤더별 카디널리티 추정을 벤치마킹한 논문이 있다니 - dc App