Mysql

169 阅读1分钟

对比

Memory存储于内存但不持久化,所以速度快,我们可以用来作为临时表。 MyISAM 表级锁,索引更新操作性能想的差。

存储格式

  • 共享表空间
    文件名:ibdata1,包含:

    • undo页,做了事务还没提交
    • 二次写缓存空间
  • 独立表空间
    文件名:tablename.idb,包含:

    • 索引
    • 数据
    • change buffer

    文件名:tablename.frm,,包含表结构

  • 行存储格式
    对于表一行数据的存储,文件存储其格式有Compact,Redundant,Dynamic,头信息有些区别,列内容大体上一致,对于某些数据类型会表现不一样。Blob类型,Dynamic存储的溢出行,也就是存一个指针,指向溢出段里面的页,字段内容存储在这个页;而Compact,Redundant是现在当前页存储,存不下剩余的存储在溢出段。

需要分区么

  • 有几种分区方式
    • RANGE
    • LIST
    • HASH
    • KEY
    • COLNUM
  • 逻辑一个表,物理多个分区文件
  • 是否需要
    • 数据汇总,按年月数据分析,批量获取相邻数据,可以提升查询性能
    • 只能指定一个列分区,当按其它列查询则会查询所有分区,性能大大下降