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

日時フィールドの SQL Server 主キー

    日付がユニークであると言うとき、それは考えるということですか? それらは一意になるか、またはそれらの一意性は問題のステートメントによって保証されますか?私の経験では、いくつかのことは想像以上にユニークではないことが判明しています (米国の社会保障番号がその例です)。

    日付値が一意であることが保証されていない場合は、整数キーを追加する必要があります。

    日付値が一意であることが保証されている場合、それらは変更されますか?それらが変更された場合、それらは他のテーブルによって参照されていますか?両方の答えが「はい」の場合は、おそらく整数キーを追加する必要があります。

    日付値が一意であることが保証されていて、変更も参照もされていない場合は、それらをキーに使用できます。通常の DATETIME は 8 バイトで、標準の INTEGER 値は 4 バイトであり、インデックス作成にわずかな影響を与える可能性があります。日付値が単なる日付であるか、正確に分単位以下であり、型で許可されているより制限された範囲内にある場合は、SMALLDATETIME を使用してそれらのインデックス値を 4 バイトまで取得できます。



    1. MSSQL2008-Pyodbc-以前のSQLはクエリではありませんでした

    2. PostgresとTomcat7JDBCプールを使用してPreparedStatementキャッシングを構成するにはどうすればよいですか?

    3. phpxamppでアクセス拒否エラー

    4. MySQL全文サフィックス検索(ブールモード)-(* apple)