MySQLの最適化データ型

1.小さいが、通常は優れています

最小範囲タイプを選択すると、超えていません

2.シンプルな十分な

例えば、整数演算は、複数の文字比較整形より複雑な比較を行うため、文字セットと照合(照合)するので、文字のコストよりも低いです。

ヌルを避けるようにしてください3。

クエリが含まれている場合、列は、インデックスがnullのカラム、インデックスと統計値の比較を行うことができるため、より複雑になって、mysqlは困難であるために最適化され、nullにすることができます。

その他の収納スペースも特別な処理を必要とMySQLでヌル列に使用することができます。インデックスはヌル列であってもよい場合、各インデックスが偶数のMyISAMに、付加的なバイトのレコードを必要とする固定サイズの指標をもたらすことができる(例えば、唯一の整数列インデックス)可変サイズの指標となります。

通常ではないにヌルヌル列のパフォーマンスをもたらすに変更することができ、比較的小さいので、既存のスキーマ内で検索し、ケースアウト編集するチューニング無しに必要な最初の。あなたが確実でない限り、これは問題を引き起こす可能性があります。あなたが列に索引を構築することを計画している場合しかし、それはヌル列になるように設計避けるべきです。

例外はありますが、InnoDBは別々のビット記憶ヌル値を使用するので、スパースデータのスペース効率のために良いです。しかし、これはMyISAMテーブルには適用されません。

 

4.整数型:

TINYINT(8)、SMALLINT(16)、MEDIUMINT(24)、INT(32)、BIGINT(64)

それは正当な値の範囲を制限するものではありませんが、と(例えば、mysqlコマンドラインクライアント)対話型ツールでmysqlの数を提供します:mysqlのは、int型(11)のように幅の整数型を、指定することができ、ほとんどのアプリケーションにとっては意味がありません文字の数を表示します。

実数型:

小数部分を格納するだけでなく、保存された10進数よりも大きいbigint型を使用することができます。MySQLのサポートの両方の正確なタイプ、とも不正確な種類をサポートしています。

floatとdoubleは、直接CPUの浮動小数点演算をサポートしている、それはかなり速く、浮動小数点演算です。

小数を格納するための正確な小数タイプ。

そして、10進浮動小数点型は、指定された精度ことができます。10進数の列に対しては、小数点の前と後の最大桁数を指定することができます。これは、空間列の消費量に影響を与えます。MySQLの5.0およびそれ以降のデジタルパックされたバイナリ文字列に保存された(メモリ当たり4バイト9桁)。桁の小数点の前に4バイト、数小数点の後に4バイト、1つのバイトの小数自体例:それぞれ9バイトの合計を使用して、9桁の両側のメモリDECIMAL(18,9)のために。

そこmysqlは静かに異なるデータ型を選択するだろうポイント精度を、浮動希望の列を指定する方法は複数あり、または値を選択で保存されています。私たちは、精度を指定されたデータ型の開発のみをお勧めしますので、定義の精度は、非標準です。

余分なスペースのオーバーヘッドのコンピューティングので、あなたは、このようなマウスは正確に計算した場合にのみ、としてのみ、小数点ストア財務データを、使用しようとする必要がありますので。データのより大きな量で、それらは、代わりに小数とBIGINTで、通貨単位を格納する必要は小数点のビット数の対応する複数乗じすることができると考えることができます。

 

おすすめ

転載: www.cnblogs.com/lccsblog/p/12632145.html