列を宣言する順序に関して新しい表を設計する際に考慮すべき考慮事項はありますか?最初にプライマリキーを置く傾向があり、次に外部キー(通常はサロゲートキー整数)とそれに続く他の列が続きますが、同僚とのディスカッションでは、SQL Serverがデータを埋め込むかどうかが疑問視されていました。SQL Serverの列を注文するときのパフォーマンス/スペースの影響?
パフォーマンス上の理由(C++コンパイラがデフォルト条件で構造体を揃える方法)のために、SQL Serverはディスク上のデータ(パディング付き)を特定のバイト境界境界に合わせようとするか、私たちの合計行が必要です(おそらく行レベルでのパディング)?私。 3バイトのcharカラムともう1つのタイプのbit/tinyintカラムがあれば、これらのうちの1つを4バイト境界で整列させることによって、サーバの動作の変化(より良いか悪いか)を期待できますか? SQL Serverは列を宣言する順番を気にすることがありますか、それが適切かどうかわかるように自由にレイアウトできますか?
私は、テーブルの列のレイアウトを最適化する前に、まず最初に調べる必要があることを理解していますが、好奇心のためにSQL Serverが列の順序付けを気にするかどうかを知りたいと思っています。もしそうなら、どこに行かなければならないのか(DMV、etc?)、ディスクに物理的に行をレイアウトする方法を見てください。
可能な重複 - http://stackoverflow.com/questions/34818/sql-server-does-column-order-matterの – CResults
が重複する可能性を[行あたり8060バイトと8000 per(varchar、nvarchar)の値の制限に来る方法?](http://stackoverflow.com/questions/3793022/how-to-come-to-limits-of-8060-bytes- 1行あたり8000-varchar-nvarchar-value) – gbn