Mysql Row_Format 參數講解
阿新 • • 發佈:2017-10-26
text fixed 數據庫 brush mys blob 數據 bsp 浪費
今天更改數據引擎的時候,突然出現了
Table storage engine for ‘#sql-3e9_132‘ doesn‘t have this option
這樣的提示:
通過搜索,發現了一些端倪,下面是對於Row_Format參數的講解:
在MYSQL中, 若一張表裏面不存在varchar、text以及其變形、blob以及其變形的字段的話,那麽張這個表其實也叫靜態表[static/fixed ],即該表的row_format是fixed,就是說每條記錄所占用的字節一樣。其優點讀取快,缺點浪費額外一部分空間。
那麽實際開發中,這種表很少,大部分表的字段類型都是有很多種的,那麽這種表就叫做:dynamic :動態表 ,優點是節省空間,缺點是讀取的時間的開銷
ROW_FORMAT 的值如下:
DEFAULT
FIXED
DYNAMIC
COMPRESSED
REDUNDANT
COMPACT
修改row_format的參數:
ALTER TABLE table_name ROW_FORMAT = DEFAULT
命令執行的結果:
fixed--->dynamic: 這會導致CHAR變成VARCHAR
dynamic--->fixed: 這會導致VARCHAR變成CHAR
註意:只有在MYSAM 的數據庫引擎才支持這個屬性:
mysql> alter table oem_idlib row_format = fixed; ERROR 1478 (HY000): Table storage engine ‘InnoDB‘ does not support the create option ‘ROW_TYPE‘
Mysql Row_Format 參數講解