sql >> データベース >  >> RDS >> Sqlserver

非常に大きなテーブルの正規化

    データに対して実行されるクエリの速度に加えて、データを正規化することには他の利点もあります...サイズや保守性など、それだけでデータの正規化を正当化する必要があります...

    ただし、クエリの速度も向上する可能性があります。現在、300のテキスト列を含む単一の行があることは膨大であり、ほぼ確実に行データページを保存するための8,060バイトの制限 ...代わりにROW_OVERFLOW_DATAに保存されています またはLOB_DATA 割り当て単位。

    冗長なテキストデータをTINYINTに置き換えるなど、正規化によって各行のサイズを縮小します。 外部キー、およびこの大きなテーブルの主キーに依存しない列を別のテーブルに削除することで、データがオーバーフローすることはなくなり、ページごとにより多くの行を格納できるようになります。

    JOINを実行することによって追加されるオーバーヘッドに関する限り 正規化されたデータを取得するには...テーブルに適切にインデックスを付ければ、かなりのオーバーヘッドが追加されることはありません。ただし、許容できないオーバーヘッドが追加される場合は、必要に応じてデータを選択的に非正規化できます。



    1. Postgresは更新時に行全体を書き換えますか?

    2. データベース管理、分析、セキュリティに関するRavenDBのOrenEiniへのインタビュー

    3. 私は本当にmysqlインジェクションを理解していませんか?それは何ですか?

    4. 1つのステートメント内でMySQLの自動インクリメント値にアクセスできますか?