Id:identity、TargetId:foreign key という列を持つアイテムのグラフがあります。
たとえばWHERE TargetId = @id
、JOIN graph ON graph.SourceId = relationships.TargetId
などを使用して再帰的な CTE クエリを実行しています。
TargetId がクエリのパフォーマンスに影響を与える外部キーであるという事実はありますか、それとも整数またはおそらく小数を使用することはできますか? つまり、すべての TargetId が既存のアイテムを指していることを確認することにあまり興味がないということです。
TargetId を一般的なプロパティ テーブルに移動し、代わりに整数/10 進数値のプロパティにする正当な理由があるため、質問しています。
しかし、これがパフォーマンスに悪い影響を与えるのであれば、もちろん私はそうしません。