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

C#でバイトまたはショートの代わりにintを使用する必要があるのはなぜですか

    パフォーマンス面では、ほとんどすべての場合、intの方が高速です。 CPUは、32ビット値で効率的に動作するように設計されています。

    短い値は処理が複雑です。たとえば、1バイトを読み取るには、CPUはそれを含む32ビットブロックを読み取り、上位24ビットをマスクする必要があります。

    バイトを書き込むには、宛先の32ビットブロックを読み取り、下位8ビットを目的のバイト値で上書きしてから、32ビットブロック全体を再度書き込む必要があります。

    もちろん、スペースに関しては、より小さなデータ型を使用することで数バイトを節約できます。したがって、数百万行のテーブルを作成している場合は、より短いデータ型を検討する価値があります。 (そして、データベースでより小さなデータ型を使用する必要があるのも同じ理由かもしれません)

    そして正確さに関しては、intは簡単にオーバーフローしません。 考えて 値は1バイト以内に収まりますが、将来のある時点で、コードに無害に見える変更を加えると、より大きな値がコードに格納されることになりますか?

    これらは、intがすべての整数データのデフォルトのデータ型である必要がある理由のいくつかです。実際にマシンバイトを格納したい場合にのみバイトを使用してください。ショートパンツは、実際に16ビット整数値を指定するファイル形式やプロトコルなどを扱っている場合にのみ使用してください。一般的に整数を扱っているだけの場合は、整数にします。



    1. MySQL:ORDER BY RAND()の代替

    2. AzureでSQLServerを使い始める方法

    3. AndroidのSQLiteデータベースにJSONデータを挿入します

    4. 接続されているデータベースは読み取り専用です