对比
| 维度 | 行式存储 | 列式存储 |
|---|---|---|
| 读取模式 | 整行读取,点查友好 | 按列读取,扫描少数列划算 |
| 压缩效率 | 同行列类型混杂,压缩率一般 | 同列同类型,压缩率高 |
| 典型场景 | OLTP 事务、单行更新 | OLAP 分析、宽表扫描 |
| 代表 | MySQL InnoDB、PostgreSQL 堆表 | Parquet、ORC、ClickHouse 列存 |
数据湖/数仓以列存为主,但需要频繁按行更新的场景仍需行存或支持 upsert 的表格式。
行式存储适合按行读取与点查更新;列式存储把同列数据连续存放,分析型查询只读少量列时 IO 明显更省,且利于压缩与向量化计算。
| 维度 | 行式存储 | 列式存储 |
|---|---|---|
| 读取模式 | 整行读取,点查友好 | 按列读取,扫描少数列划算 |
| 压缩效率 | 同行列类型混杂,压缩率一般 | 同列同类型,压缩率高 |
| 典型场景 | OLTP 事务、单行更新 | OLAP 分析、宽表扫描 |
| 代表 | MySQL InnoDB、PostgreSQL 堆表 | Parquet、ORC、ClickHouse 列存 |