1. 程式人生 > >Mysql Row_Format 參數講解

Mysql Row_Format 參數講解

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 參數講解