포스트그레스(Postgres) 쿼리 플래너가 실행 중간에 쿼리를 재계획할 수 있으면 좋겠다는 의견이 있음. 데이터 분포에 대한 정보가 부족해 비효율적인 쿼리 계획이 수립되고, 이로 인해 실행 시간에 큰 영향을 미칠 수 있음. 쿼리가 예상보다 느리게 진행될 경우 현재 진행 정보를 바탕으로 쿼리를 재계획하는 기능이 필요함. 그러나 포스트그레스는 스트리밍 쿼리를 지원하기 때문에, 실행 중간에 계획을 변경하는 것은 상당한 인프라 변경을 요구함.
쿼리 시각화 도구로 explain.dalibo.com과 www.pgexplain.dev를 사용한다는 사용자가 있음. 두 도구 모두 유사한 출력 결과를 제공함.
쿼리 플래너 개선은 데이터베이스에서 중요한 부분이지만, 주로 원하는 대로 작동하지 않을 때 눈에 띈다는 의견이 있음. 최신 포스트그레스 버전의 JIT(Just-In-Time) 컴파일러는 사용 시점의 휴리스틱이 강건하지 않아 보이며, 작은 데이터에 대해 느려질 수 있어 JIT를 비활성화하는 것이 좋다는 경험을 공유함.
실제 쿼리에서 얼마나 자주 변경사항이 효과가 있는지, 특히 "가능할 때 DISTINCT 대신 Limit을 사용"하는 변경이 실제로 적용되는 경우가 있는지 궁금하다는 의견이 있음. 포스트그레스 개발자들이 이에 대한 정보를 가지고 있는지에 대한 질문이 있음.
애플리케이션 테스팅을 위한 "엄격 모드"가 있으면 좋겠다는 의견이 있음. 이 모드에서는 쿼리를 개선할 수 있는 인덱스가 없을 경우 오류를 반환하며, "CREATE INDICES FOR <sql>" 명령어를 통해 필요한 인덱스를 생성할 수 있음. 개발 및 대화형 사용을 위한 자동 인덱스 생성 모드도 제안됨.
한 사용자의 친구가 중소기업을 위한 마이크로소프트 DBA로 일하며, 포스트그레스로는 심각한 작업을 할 수 없다고 주장함. 포스트그레스에 쿼리 플래너가 없다는 사실에 놀랐다고 하나, 이는 잘못된 정보임. MSSQL이 포스트그레스보다 더 큰 규모의 작업을 처리할 수 있다는 주장에 대한 신빙성에 대한 질문이 있음.
포스트그레스가 힌트(hints)를 구현하지 않는 이유에 대한 의문이 제기됨.
Citus Data가 발표한 기능이 왜 postgresql.org가 아닌 다른 곳에서 나왔는지, 유료 기능인지 아니면 오픈 소스 추가 기능인지에 대한 질문이 있음.
포스트그레스가 IS NOT DISTINCT FROM 쿼리를 가속화하기 위해 인덱스를 사용할 수 있는 시점에 대한 질문이 있음.
Hacker News 의견
explain.dalibo.com과www.pgexplain.dev를 사용한다는 사용자가 있음. 두 도구 모두 유사한 출력 결과를 제공함.IS NOT DISTINCT FROM쿼리를 가속화하기 위해 인덱스를 사용할 수 있는 시점에 대한 질문이 있음.