Mysql Row_Format 參數講解


今天更改數據引擎的時候,突然出現了

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'

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM