テーブルの関係が定義されていると、SQLの方が高速だと聞きました。テーブルの関係が定義されている場合、SQL Server 2005の方が高速ですか?
これは本当ですか?
それは遅いかもしれませんが、私は知りたいと思います。
テーブルの関係が定義されていると、SQLの方が高速だと聞きました。テーブルの関係が定義されている場合、SQL Server 2005の方が高速ですか?
これは本当ですか?
それは遅いかもしれませんが、私は知りたいと思います。
私の推測では、あなたは外部キーについて話しています。これは参照整合性とも呼ばれ、constraintの1種類です。外部キーは唯一の種類の制約ではありません。固有の制約とチェック制約を持つこともできます。とにかく、参照整合性は、insert
の場合はやや遅く、select
の場合は速くなりません。
insert
ed値が他のテーブルに存在することを確認する必要があるためです。
select
クエリのパフォーマンスを向上させたい場合は、結合してフィルタリングする列にインデックスを挿入する必要があります。しかし、インデックスは、insert
s、update
s、およびdelete
sの速度が低下するため、テーブルを変更するたびにインデックスを更新する必要があるため、コストがかかります。
テーブルが大量の場合は、insert
/update
、あまりにも多くのインデックスを追加しないでください。あなたのテーブルが主にselect
の場合は、可能な限りインデックスを使用してください。 Database Engine Tuning Advisorは、最も一般的なクエリのいくつかのインデックスを定義するのに役立ちます。
クエリを実行するときに、あなたがやっているSQL Serverの見ることができるようにあなたが(SSMSではCtrl +L)クエリ実行プランを使用していることを確認してください。できるだけ多くの数字がseek
になるようにしてください。つまり、インデックスを最も効率的に使うことができます。
テーブルリレーションが定義されていればSQLの方が高速ではありません。
インデックスはパフォーマンスを改善します。 参照整合性(テーブル関係)は、ビジネス要件に従ってデータの品質を保証します。
データの整合性(RIが強制する)は、はるかに速いスピードよりもはるかに重要です!私はあなたに間違った答えを与えると本当に速いですか? –