質問

私は下のリファクタリングのデータベースのSQL Server2008)スキームを収集する引数に変更 NCHAR(1) ラムを保ちながら Y|N 値) BIT.誰でも理解する必要があることがわかり、なぜかがなものがこの変更は生産データベースで重量の引数が必要です。テーブル常にアドレスカタログ(最大1mの録)を保持することになる。

最初の引数から各 nchar分野 2バイト各8 ビット分野 -1バイト(8-追加の1バイト)が標準です。

次は何ですか?もしかした指標性能の問題ということか。

役に立ちましたか?

解決

ビット分野御ロジックにより自動的に強制でこのような活動がどのように、暗黙のビジネスルール(すなわち、このカラムなどを含めないでください'Y'または'N')ば強制するルールプログラムに保存することができるの排除するオーバーヘッド。デビットカラム自体がほとんど価値が低い濃度、この一環として複合的な指数です。

参照:

他のヒント

私はお気軽にご登録をすると、掲載企業へ問い議論などに変更いた理由が変化します。すなわちきのバランスコストの変化にどのよう自らの行い/希望、vsのコストを実際に実施する利点を兼ね備えます。

いかどうかはチェックの利用nchar(1)は追加性、ま陥にトラップの早期の最適化?みつ1百万円を記録。

テーマはストレージ/IOのコストだという思いを大切にしてい負担の合計男時間の変更、再試験のシステム*スタート時のvsコストでの購入には高速ディスク。疑いのディスクにするかに安いなどの利益のあらゆるシステム。

共通の理由を探NCHAR(1)の代わりにビットはOracleにはまだ対応していませんでしたビットタイプです。また、OracleはOracle訓練を受けた者、またはデータベースにOracleは、あの参照ころがいっぱいあるんです!Sqlサーバー、くありません必要です。

しかし、私たものではなく、ほとんどの領域でしたいことが分かったビットの分野(NCHAR(1)のsqlん 本当に したものであって、datetimeを示すなどの価値のフラグが同時となります。これだけではない場合は、後で振り返って古いコードからいらっしゃるかと思いる4の5倍を使ってビット分野としては使用datetime.

のビットの分野で、計算カラムにemulatesのnchar(1)。

何を使用しないnchar:

  • Y vs y vs一 unicode Y
  • 架空のチェックY/N
  • いないブラ"true"o"false"の場合(例な地図できます。純boolean)
  • YN は英語です。Ja/Nein,Oui体など

なんかころでしかなくて効率的な保存と利用します。ビットが

  • datatype安全なものであるかどうか(例えば、チェックが必要)
  • 地図をクライアントの意味を直接
  • 独立した地域

うを使用していまsmalldatetime"WhenInactive"分野の代替として"IsActive"フィールドに表示されます。NULL=活躍しました。

ご利用の場合LINQ2SQLまたは団体の枠組みを BIT 列訳ではありま bool, ものの、 NCHAR(1) 訳ではありま string.

の分野で広く使用され問合せ Where fld = 'Y'?

そう考えて見るという試みか否かを変更することで少し影響す。

変更することで、今だからこそこのビットの分野からだ格納すboolean型の値のテーブル1m+記録しない音のように良いアイデア私はいずれかとなったと思いることを目指してアンドリューの答えです。

使用ビット

  • 論理的表現/表現力の意図-年boolean国んexpressableに一貫して Yes or No, る、というまのいずれかが必要不整合にモデリングビットは、直感的で、例えば True/False (T/F), On/Off (?O/F), Open/Closed(O/C) など。

  • 参照整合性-非nullのビットを制限することが可能ですのみ 0 or 1.ない限り、追加の制約、 *char(1)Y,N, X または .

  • ビットをまとめることができます。, でもが小さくなっている。

  • Re:性能:デビット(または数少ない状態CHARカラムが通常の廃棄物がある場合を除き、高い選択性は0又は1のデータです。この場合、 指数フィルタ の選択に値する良い方法がありました。

(移行から 削除答えはこちら)

したが欲しかったビットの分野でもなんのために必要がありまれることはありませんの目に価値ることになり、そのような分野でしたがって構造で文字列として格納するフィールドは,もちろん、しかしこの非常に独特です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top