MySQL數據類型 - 爲列選擇正確的類型

爲列選擇正確的類型

爲了獲得最佳存儲,應該在所有情況下都儘量使用最精確的類型。例如,如果整數列用於1到99999之間的值,則MEDIUMINT UNSIGNED是最佳類型。在表示所有必需值的類型中,此類型使用的存儲量最少。

所有針對DECIMAL列的基本計算(+、-、*、和/)都以65位十進制(以10爲基數)的精度完成。

如果精度不太重要,或者如果速度是最重要的,DOUBLE類型可能就足夠了。爲了獲得高精度,可以轉換爲存儲在BIGINT中的定點類型。這使您能夠使用64位整數執行所有計算,然後根據需要將結果轉換回浮點值。

使用來自其他數據庫引擎的數據類型

爲了方便使用其他供應商爲SQL實現編寫的代碼,MySQL映射了如下表所示的數據類型。這些映射使得從其他數據庫系統向MySQL導入表定義變得更加容易。

其他供應商類型 MySQL類型
BOOL TINYINT
BOOLEAN TINYINT
CHARACTER VARYING(M) VARCHAR(M)
FIXED DECIMAL
FLOAT4 FLOAT
FLOAT8 DOUBLE
INT1 TINYINT
INT2 SMALLINT
INT3 MEDIUMINT
INT4 INT
INT8 BIGINT
LONG VARBINARY MEDIUMBLOB
LONG VARCHAR MEDIUMTEXT
LONG MEDIUMTEXT
MIDDLEINT MEDIUMINT
NUMERIC DECIMAL

數據類型映射發生在表創建時,之後原始類型規範將被丟棄。如果使用其他供應商使用的類型創建一個表,然後發出DESCRIBE tbl_name語句,那麼MySQL將使用等效的MySQL類型報告表結構。例如:

官方文檔:
https://dev.mysql.com/doc/refman/8.0/en/choosing-types.html
https://dev.mysql.com/doc/refman/8.0/en/other-vendor-data-types.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章