Skip to content

perf: getLineage の N+1 クエリ問題 #9

@kwrkb

Description

@kwrkb

概要

app/gallery/[id]/page.tsxgetLineage() が祖先を1ノードずつDBクエリで取得している。深いツリーではクエリ数が線形に増加する。

再現箇所

app/gallery/[id]/page.tsx:20-42

while (currentId) {
  const response = await supabase
    .from("generations")
    .select("*")
    .eq("id", currentId)
    .single();
  // ...
  currentId = response.data.parent_id;
}

対策案

  • 既存の get_tree_structure RPCを活用
  • または再帰CTEで一括取得するRPC関数を追加

優先度

High

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions