MySQLデータ型の最適化

ディレクトリ

データ型の選択

int型のストレージ時間-時間変換

テーブルを作成

データをインポートする

データを取得する

IPアドレスストレージ

テーブルを作成 

データをインポートする

結果をIPアドレスに変換する


 

データ型の選択


1.データを保存できる最小のデータ型を使用します。(時間型データ:varchar型を使用でき、int型を使用でき、timestamp型も使用できます)
2.単純なデータ型を使用します。mysqlの処理では、intはvarchar型よりも単純です。(Int型の保存時間が最良の選択です)
3.フィールドをできるだけ定義するためにnull以外を使用します。(innodbの特性により、nullの値はフィールドに追加のストレージを必要とし、IOとストレージのコストも増加します。)
4 . テキストタイプをできるだけ使用しないようにします。必要に応じてテーブルを検討することをお勧めします。

 

 

int型のストレージ時間-時間変換

 

日付と時刻を格納するにはintを使用し、FROM_UNIXTIME()、UNIX_TIMESTAMP()の2つの関数を使用して変換します。 

  • unix_timestamp()関数は、日付形式データをint型に変換します
  • FROM_UNIXTIME(timestr)関数は、int型を時刻形式に変換します

テーブルを作成

create table test(
id int auto_increment not null,
timestr int ,
primary key(id)
);

データをインポートする

insert into test (timestr) values (unix_timestamp('2018-05-29 16:00:00'));

データを取得する

 

 

IPアドレスストレージ

 

外部アプリケーションでは、IPアドレスを記録する必要があります。ほとんどの場合、ストレージにはvarchar(15)が使用されますが、ストレージには15バイトが必要ですが、bigintには8バイトしか必要ありません。INET_ATON()、INET_NTOA()の2つの関数を使用して変換します。

テーブルを作成 

create table sessions(
id int auto_increment not null,
ipaddress bigint,
primary key (id)
);

データをインポートする

insert into sessions (ipaddress)values (inet_aton('192.168.0.1'));

 

結果をIPアドレスに変換する

select inet_ntoa(ipaddress) from sessions;

 

 

568の元の記事を公開 180の賞賛 180,000ビュー

おすすめ

転載: blog.csdn.net/Delicious_Life/article/details/105612139