1. ホーム
  2. c#

[解決済み] ジョインは怠け者のためのもの?

2022-04-23 11:41:25

質問

最近、他の開発者と議論したのですが、彼はJOIN(SQL)は無駄だと主張しました。これは技術的には正しいのですが、彼は、JOINを使用することは、コード(C#またはJava)内でいくつかのリクエストとリンクテーブルを作ることよりも効率が悪いと付け加えました。

彼にとっては、結合はパフォーマンスを気にしない怠け者のためのものなのだ。これは本当だろうか?結合の使用は避けるべきでしょうか?

解決方法は?

いや、そんなとんでもなく間違った意見を持っている開発者は避けるべきでしょう。

多くの場合、データベース結合はクライアント経由で行うよりも数段速いです。なぜなら、DBのラウンドトリップを回避でき、DBは結合を実行するためにインデックスを使用できるからです。

私の頭の中には、正しく使用されたジョインが、同等のクライアントサイドの操作よりも遅くなるシナリオは1つもありません。

編集する カスタムクライアントコードが、単純なDB結合よりも効率的に物事を行うことができる稀なケースもあります(meritonのコメント参照)。しかし、これは非常に例外的なことです。