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

列の順序はMicrosoftSQLServer 2012のパフォーマンスに影響しますか?

    テーブル内の列の順序は、データベース設計(エンティティ、属性、および関係)、トランザクション設計、およびクエリ設計のパフォーマンスへの影響と比較して、パフォーマンスへの影響はごくわずかです。

    違いが無視できないかどうかを判断するには、実際にいくつかのテストを設定し、結果を比較する必要があります。

    通常、主キーを最初の列、次に外部キー、次に自然キーと頻繁にアクセスされる列として配置します。私は通常、長い文字列を行の終わりに向けて配置します。ただし、これは必ずしもパフォーマンスの最適化ではありません。これは、便宜上使用するスタイル設定であるためです。

    行の多数の列がNULL可能であり、それらの列のほとんどにNULLが含まれている場合、列の順序はSQLServerの行のサイズに影響を与える可能性があります。 SQL Server(Oracleなど)には、行の終わりにNULL値を含む列用にスペースが予約されていない最適化機能があります。行の最後のNULL以外の値まで、行のすべての列にいくらかのスペースが予約されています。

    それからのポイントは、null許容列がたくさんある場合、最も頻繁にNULLになる列の前に、最も頻繁にNULLではない列が必要になるということです。

    注:SQL Serverは、列が固定長であるか可変長であるかによって、最初にテーブル内の列を並べ替えることに注意してください。すべての固定長列が最初に保管され、次にすべての可変長列が保管されます。これらの列のセット(固定および可変)内では、列は定義された順序で格納されます。



    1. SQLServerデータベース内のすべてのテーブル値関数を一覧表示する2つの方法

    2. not in queryに複数の列を使用できますか?

    3. Woocommerceは製品SKUを使用して製品IDを取得します

    4. PostgreSQLのINとANY演算子