数据库设计:在线飞行日志起降时间存JSON还是关联表更合适?
飞行日志时间字段存储方案建议
针对你当前的业务场景,直接在主表存储JSON格式字段是性价比更高的选择,理由如下:
- 需求匹配度高:你已经明确这四个时间字段仅用于详情页展示,录入后不会参与业务逻辑计算、筛选、聚合操作,JSON格式完全可以满足读取展示的需求,不需要额外做表结构拆分。
- 查询效率更优:这组时间数据和飞行条目是严格的1:1对应关系,单独建belongsTo关联表反而会每次查详情都增加一次表关联开销,直接读主表字段速度更快。
- 开发维护成本低:不需要额外开发关联表的增删改查逻辑,读写操作都可以直接针对主表的对应字段处理,JSON结构
{"out":1200,"off":1215,"on":1345,"in":1400}解析成本极低,后续如果要新增同类非计算类时间标识(比如关舱门时间、开始登机时间),直接在JSON结构里加键值对即可,不需要修改表结构。
补充提醒:如果后续业务规则调整,需要针对Out/Off/On/In中的任意字段做独立查询、统计、计算操作,再考虑将这些字段拆为主表独立字段或者关联表即可,当前阶段不需要过度设计。
内容的提问来源于stack exchange,提问作者Pilot Max
相关产品推荐
相关产品推荐

