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

SQL:ビットまたはchar(1)のどちらが優れているか

    SQL Serverの場合:タイプBITの最大8列 タイプCHAR(1)の各列は、1バイト内に格納できます。 1バイトを使用します。

    一方、BIT 列には2つの値(0 =false、1 =true)を指定することも、値をまったく指定しない(NULL)こともできます-CHAR(1) 任意の文字値を持つことができます(はるかに多くの可能性)

    つまり、実際には次のようになります。

    • 本当にtrue/false(yes / no)フィールドが必要ですか?その場合:BITを使用します
    • 2つ以上の可能な値を持つものが必要ですか?CHAR(1)を使用してください

    何万もの列がない限り、パフォーマンスの観点からは、大きな違いはないと思います。そしてもちろん、BITを使用します 1バイトに最大8列を格納できると便利です。しかし、繰り返しになりますが、これらの列が数個、数十個ある「通常の」データベースの場合、実際には大きな違いはありません。 ニーズに合った列タイプを選択してください -パフォーマンスについて過度に心配しないでください.....



    1. count(*)とcount(column_name)、違いは何ですか?

    2. すべてのユーザーテーブルを削除するにはどうすればよいですか?

    3. MySQLで数値のみを返す

    4. SQLServerのI/Oパフォーマンスの分析