まず第一に、英語は私の母国語ではなく、私の質問を編集することができます。あなたを怒らせたり、問題を明らかにするような間違いがあれば、すみません。tsqlベストプラクティスアドバイス
私はたくさんの結合を持ついくつかのSQLクエリを持っています。これらの結合はクラスタ化インデックスに基づいています(それについての心配はありません)。ジョインの中には、正規化を尊重するためだけに使用されるものやメンテナンスに直感的なものがあるため、時にはそれをスキップすることもあります。ベストプラクティスの観点から、これらの結合について何をすべきかはわかりません。
編集:
簡単な例:
select *
from things
join things_categories on
things_categories.id_thing = things.id_thing
join categories on
categories.id_category = things_categories.id_category
join categories_properties on
categories_properties.id_category = categories.id_category
where
categories_properties.bo_default = 1
しかし、それは何をすることが可能です:
select *
from things
join things_categories on
things_categories.id_thing = things.id_thing
join categories_properties on
categories_properties.id_category = things_categories.id_category
where
categories_properties.bo_default = 1
秒(私はデータベースレベルで整合性を持っている)、それは必要はありません参加、コードがより直感的になり、データベースの正規化が尊重されるからです。可能な限り最小限の効率的なパスを実行するか、正規化を尊重し、コードをより直感的にするために不要な結合を残す必要があるかどうかはわかりません。
ヒント?
すべて最高です。
これは実際の質問imhoではないので、私はあなたが何か有用な答えを得ることは疑う。 – YvesR
私はあなたに同意しないが、とにかくありがとう。 – user1330271
あなたが直面している問題は何ですか?つまり何が変わるべきなのか、そしてなぜなのでしょうか? – ericosg