MySQL 字段型別選擇

2021-09-11 20:30:58 字數 924 閱讀 5371

在對資料進行比較操作時,同樣的資料,字元處理往往比數字處理慢,int要比varchar型別在mysql處理上簡單。比如時間可以考慮用int來儲存,ip位址也可以考慮用bigint來儲存。

列的長度越小,利於效能提公升。

tinyint適合列舉,0標示男,1標示女,2,標示保密

char與varchar

如果列中要儲存的資料長度差不多是一致的,則應該考慮用char,否則應該考慮用varchar。

如果列中的最大資料長度小於50byte,則一般也考慮用char。大於50就用varchar。

由於 char 是固定長度的, 所以它的處理速度比 varchar 快得多, 但是其缺點是浪費

儲存空間, 程式需要對行尾空格進行處理, 所以對於那些長度變化不大並且對查詢速度有較

高要求的資料可以考慮使用 char 型別來儲存。

float和decimal

decimal用於儲存精確資料,而float只能用於儲存非精確資料,故精確資料只能選擇用decimal型別。

由於float的儲存空間開銷一般比decimal小,故非精確資料優先選擇float型別。

時間相關的格式

date:儲存格式為yyyy-mm-dd,範圍為』1000-01-01』到』9999-12-31』,傳遞進入的字串會自動轉換,如12331212自動

轉換成2023年12月12日

datetime格式為yyyy-mm-dd hh:mm:ss

timestamp格式為yyyy-mm-dd hh:mm:ss,時間區間為1970-01-01 00:00:00到 2037

time:格式為hh:mm:ss

year:格式為yyyy,非法格式轉為0

參考:datetime型別儲存的時間範圍大一些,因為佔了8個位元組,而timestamp只占用4個位元組。

盡可能的使用not null定義字段。

mysql 字段型別選擇

整數型別 型別占用位元組 數值範圍 tinyint 1 128 127 0 255 smallint 2 32768 32767 0 65535 mediumint 3 8388608 8388607 0 16777215 int integer 4 2147483648 2147483647 0 ...

mysql選擇字段 mysql欄位型別如何選擇

本文主要和大家分享mysql欄位型別如何選擇。希望能幫助到大家。盡量少的佔據儲存空間 整型 時間型別 選擇準確的型別 型別含義time 時分秒 datetime 年月日 時分秒 year 年份 date 年月日 timestamp 時間戳 1970 1 1到現在經歷的秒數 資料的整合最好固定長度 c...

MySQL 表字段型別選擇

mysql欄位型別大致分為以下幾類 字元型 char,varchar,set,enum,text,blob,longtext等 數字型 int,float,double,tinyint,decimal等 日期型 date,time,datetime 那麼對於設計表的時候該如何選擇欄位的資料型別?可以...