xguru 2024-04-15 | parent | ★ favorite | on: PostgreSQL Index Advisor(github.com/supabase)

Hacker News 의견

  • 테이블에 실제로 저장된 데이터를 기반으로 더 효율적인 데이터 타입을 추천해주는 기능이 있으면 좋음
  • 느린 쿼리를 자동으로 감지하고 필요한 인덱스를 생성하는 데이터베이스가 있으면 좋겠음
    • 애플리케이션에서 로드 테스트를 실행하면 데이터베이스를 호출하고 쿼리를 수집한 다음, 데이터베이스가 자동으로 조정됨
  • HypoPG가 RDS에서 1년 이상 사용 가능했다는 것을 몰랐음
  • 3개 이상의 join에서 한 relation에 인덱스를 사용하길 원하지만, CTE에 limit를 걸지 않으면 Postgres가 각 join을 병렬로 실행하려 하고 수많은 행을 join하려고 함
    • 요즘 쿼리 플래너를 다루는 것이 pg와 헤어질 것 같음
  • CockroachDB에는 유사한 기능이 내장되어 있음
    • 느린 기존 쿼리를 가져와서 더 나은 쿼리 계획을 위해 가상 인덱스를 분석하고 제안함
    • 콘솔 UI에서 한 번의 클릭으로 추가할 수 있음
  • Presto나 Spark와 같은 분산 쿼리 엔진에서 인덱스 대신 파티션과 버킷을 사용하여 비슷한 작업을 수행함
    • 이는 계산, 시간, 비용을 줄일 수 있음
  • Vanilla Pl/PgSQL로 작성되어 편리함
    • index_advisor(text) 함수를 세션에 복사하고 하드 코딩 및 휴리스틱을 시작하고 싶은 유혹이 있음
    • 대부분의 의미 있는 확장은 컴파일, 설치, 생성, 삭제가 필요함
  • TiDB의 TiAdvisor와 유사하며, 가상 방법을 사용함
  • pghero를 사용 중이며, GUI로 이 기능을 제공함
  • 관련된 트레이드오프에 대한 고려나 통찰력은 제공하지 않는 것 같음
    • 기본 확장인 HypoPG는 쿼리 플래너에 영향을 미치는 데이터에 대한 통계를 수집하지 않는 것 같음
  • 상속된 부모 및 자식 테이블을 인식하는지 여부가 궁금함