博客
关于我
Mysql 纵表转换为横表
阅读量:794 次
发布时间:2023-02-11

本文共 647 字,大约阅读时间需要 2 分钟。

纵表与横表

纵表

纵表是一种数据组织方式,表中字段与字段的值采用key—value形式。具体而言,纵表中定义两个字段,一个用于存储字段名称,另一个用于存储该字段对应的值。

例如,以下表ats_item_record中,field_code字段表示字段名称,record_value字段表示该字段的具体值:

field_code record_value
item_name 项品名称
item_type 项品类型
... ...

优缺点

纵表的优点在于扩展性高,新增字段无需修改表结构,灵活性强。其缺点在于关联查询较为复杂,维护成本较高。

横表

横表的结构更为清晰,表中字段与字段值一一对应,便于关联查询和后续开发操作。然而,横表的缺点在于扩展性差,新增字段需修改表结构,存在较大改动风险。

选择建议

在实际开发中,尽量选择横表,原因在于其结构清晰,便于后续开发人员接手且关联查询更为简便。纵表则适用于字段较多或频繁变动的场景,但需谨慎权衡其维护成本和查询复杂度。


纵表转换为横表

在实际应用中,纵表可能因查询复杂度或维护需求而被转换为横表。以下是常见转换步骤:

  • 数据提取

    从纵表中提取字段名称和对应的值,分别存储到新的横表中。

  • 字段对齐

    确保横表的字段结构合理,字段名称清晰,便于后续操作。

  • 数据迁移

    将数据从纵表迁移到横表,确保数据完整性和一致性。

  • 查询优化

    在横表中执行关联查询,优化查询性能。

  • 通过以上步骤,可以有效将纵表转换为横表,既保持了数据的灵活性,又提高了查询效率和维护便利性。

    转载地址:http://tbbfk.baihongyu.com/

    你可能感兴趣的文章
    MySQL 中开启二进制日志(Binlog)
    查看>>
    MySQL 中文问题
    查看>>
    MySQL 中日志的面试题总结
    查看>>
    MySQL 中随机抽样:order by rand limit 的替代方案
    查看>>
    MySQL 为什么需要两阶段提交?
    查看>>
    mysql 为某个字段的值加前缀、去掉前缀
    查看>>
    mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
    查看>>
    mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
    查看>>
    mysql 主键重复则覆盖_数据库主键不能重复
    查看>>
    mysql 优化器 key_mysql – 选择*和查询优化器
    查看>>
    MySQL 优化:Explain 执行计划详解
    查看>>
    Mysql 会导致锁表的语法
    查看>>
    mysql 使用sql文件恢复数据库
    查看>>
    mysql 修改默认字符集为utf8
    查看>>
    Mysql 共享锁
    查看>>
    MySQL 内核深度优化
    查看>>
    mysql 内连接、自然连接、外连接的区别
    查看>>
    mysql 写入慢优化
    查看>>
    mysql 分组统计SQL语句
    查看>>
    Mysql 分页
    查看>>