%20%E3%81%A8%E5%A4%9A%E6%95%B0%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%20(%E5%88%97)%20%E3%82%92%E6%8C%81%E3%81%A4%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%A7%E3%81%AF%E3%80%81SQL%20%E3%82%AF%E3%82%A8%E3%83%AA%E3%82%92%E8%BF%94%E3%81%99%E3%81%AE%E3%81%AB%E6%99%82%E9%96%93%E3%81%8C%E3%81%8B%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%20.png)
真偽: フィールド (列) が多数あるため、レコード (行) が大きいテーブルでは、SQL クエリを返すのに時間がかかりますか?
つまり、多くのフィールドがあり、大量のビッグデータ行があるテーブルで動作する SQL の SELECT ... WHERE... クエリがある場合、この SQL クエリは、フィールドが少ないテーブルで動作する同じ SELECT/WHERE SQL クエリよりも大幅に遅くなるか、遅くなりますか?
明確な答えが欲しいです。「すべては状況次第です。テストして確認してみてはいかがでしょうか」という類のことは言いたくありません。;-) レコードでサポートできるフィールドの最大数に近い、とんでもない数字を選択しない限り、違いはないと思います。ターゲットは SQL Server 2008 です。ありがとうございます。
編集: 私が言いたいのは、フィールド「GUID」、「NAME」、「ADDRESS」...およびその他 50 個のパラメータを持つテーブルでは、WHERE が当然 '= NAME' である (行数は同じで、両方のテーブルに 10000 行あるとします)、「GUID」と「NAME」のみを持つ 2 番目のテーブルに対して SELECT/WHERE クエリを返すのに時間がかかるということです。
答え1
真実
答え2
選択自体は、「小さい」テーブル上の同様の条件を持つ他のものと同じであるはずですが、ディスクからネットワーク経由でのデータ転送にも時間がかかり、データの量によって確実に影響を受けます。
ただし、多くの場合 (ほとんどの場合?)、データ転送時間はレコード選択時間よりもはるかに短くなります。 そうであれば、データ サイズの影響は無視できるほど小さい可能性があります。
答え3
頭を使ってください。本当に。単純な答えは賢明ではありません。
当然、1 億行と 1 億行では処理能力と転送速度に違いがあるため、違いが生じます (1 億行は不合理な数字ではありません。私は 1 日に 5,000 万行から 2 億行のクエリを複数回実行しています)。
これはメモリ帯域幅の量から始まり、最終的にはネットワーク帯域幅のような単純なもので終わります。10 行のデータは 1000 万行よりもはるかに少なく、ネットワークが 1 秒あたりに転送できるデータには制限がありません。
あなたの編集へ: 比較すると、フィールドが 3 から 53 に増えています。自分で計算してください。通常のネットワークでは、1 秒あたり 100 メガバイトが許可されます。したがって、当然、違いが生じます。問題は、それがどの程度関連しているかです。しかし、あなたは、問題を本当に理解することに興味がなく、2 進の「はい/いいえ」の答えを求めていることを明確に示しています。わかりました。