博客
关于我
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中mvcc学习记录
    查看>>
    mysql中null和空字符串的区别与问题!
    查看>>
    MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
    查看>>
    MYSQL中TINYINT的取值范围
    查看>>
    MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
    查看>>
    Mysql中varchar类型数字排序不对踩坑记录
    查看>>
    MySQL中一条SQL语句到底是如何执行的呢?
    查看>>
    MySQL中你必须知道的10件事,1.5万字!
    查看>>
    MySQL中使用IN()查询到底走不走索引?
    查看>>
    Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
    查看>>
    MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
    查看>>
    mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
    查看>>
    mysql中出现Unit mysql.service could not be found 的解决方法
    查看>>
    mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
    查看>>
    Mysql中各类锁的机制图文详细解析(全)
    查看>>
    MySQL中地理位置数据扩展geometry的使用心得
    查看>>
    Mysql中存储引擎简介、修改、查询、选择
    查看>>
    Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
    查看>>
    mysql中实现rownum,对结果进行排序
    查看>>
    mysql中对于数据库的基本操作
    查看>>