Mysql的row_format

时间:2022-09-20 15:47:19

  在mysql中, 若一张表里面不存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这个表其实也叫静态表,即该表的row_format是fixed,就是说每条记录所占用的字节一样。其优点读取快,缺点浪费额外一部分空间。

  若一张表里面存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这个表其实也叫动态表,即该表的row_format是dynamic,就是说每条记录所占用的字节是动态的。其优点节省空间,缺点增加读取的时间开销。

所以,做搜索查询量大的表一般都以空间来换取时间,设计成静态表。
  row_format还有其他一些值:
    DEFAULT
    FIXED
    DYNAMIC
    COMPRESSED
    REDUNDANT
    COMPACT
  修改行格式
     ALTER TABLE table_name ROW_FORMAT = DEFAULT
  修改过程导致:
    fixed--->dynamic: 这会导致CHAR变成VARCHAR
    dynamic--->fixed: 这会导致VARCHAR变成CHAR