0

私は現在データベースを設計中です。私たちは、既存のシステムが非常にうまく設計されておらず、わかりやすく表示されている小さな問題のすべてを洗い出しています。 bitではなくtrue/falseフラグの場合はvarcharです。DBの設計と性能

私が知りたいことは、甘いデータベース設計があることをどのように知っていますか?それともこれは神話ですか?つまり、構造は紙の上で驚くほどに見えるかもしれませんが、そこにデータがあると、どのように実行されるのでしょうか。

"lookup"値を格納するテーブルは、完全な記述テキストを格納するよりも速いのですか?例えばこのシナリオでは

エラーテーブル

Id ErrorId DateCreated 
1  1   09/12/2011 
2  5   10/12/2011 

エラー説明テーブル

Id Description 
1  Warning - failed to validate 
2  Failed to locate file 

viewが必要な参加を含むSQLを書くよりも有益で作成するのでしょうか?

申し訳ありませんが、私はこの質問を間違った場所に掲載しています。

+0

実際にこれを試しましたか? –

答えて

0

"lookup"値を格納するテーブルは、完全な記述テキストを格納するよりも速いのですか?

私はここで私が動作するところをテストしました。私たちはルックアップテーブルを他の種類のテーブルと区別しませんでした。しかし、あなたの質問はルックアップテーブルではないことを指摘しておきます。あなたの質問はサロゲートキー(ID番号)に関するものです。 ID番号を使用せずに "ルックアップ"テーブルを作成することができます。

タイミングの例については、this SO questionを参照してください。それは転倒ポイントがあるようです。ティッピングポイントの下では、自然キーに基づくクエリは、通常、ID番号に基づくクエリよりも高速に実行されます。 (テーブルが狭くなり、結合数が少なくなります。)しかし、ティッピングポイントを過ぎると、サロゲートキーが自然キーより速く実行されます。

しかし、「高速」は必ずしも「高速」を意味するわけではありません。そして、「遅い」は依然として十分速いかもしれません。

+0

他のリンクをありがとう。それは良い読書だったし、私にGoogleにもう少し詳しい情報を与えた。 –

関連する問題