多个MySQL日期时间列
我正在设计一个简单的订购系统,并希望跟踪每个订单的多个日期多个MySQL日期时间列,mysql,sql,database,datetime,Mysql,Sql,Database,Datetime,我正在设计一个简单的订购系统,并希望跟踪每个订单的多个日期 订购日期 填写日期 装运日期 收到日期 目前,我的计划是对每个订单的每个日期使用DATETIME列,比如 purchase_order -------------- id INT(10) (pk) date_submitted DATETIME date_filled DATETIME date_shipped DATETIME date_received DATETIME 对于这种情况有更好的
- 订购日期
- 填写日期
- 装运日期
- 收到日期
purchase_order
--------------
id INT(10) (pk)
date_submitted DATETIME
date_filled DATETIME
date_shipped DATETIME
date_received DATETIME
对于这种情况有更好的做法吗?我唯一能想到的是有一个事件表,然后是一个采购订单事件联接表
event
---------------------------------
id INT(10) (pk)
description VARCHAR(64)
purchase_order_event
---------------------------------
id INT(10) (pk)
event_id INT(10) (fk)
purchase_order_id INT(10) (fk)
event_date DATETIME
这是不必要的复杂吗?它更灵活,但开销相当大。哪种方式对性能的影响更大
我试图查找与这种情况相关的最佳实践,但什么也找不到
谢谢 如果purchase\u order\u事件在任何其他表格(如purchase\u return\u event table,其中一列可能引用purchase\u order\u event的id)中有用或必需,则您可以将其分隔在不同的表格(purchase\u order\u event)中,否则您可以将整个事件保留在一个表格(purchase\u order)中
实际上,它指的是数据库设计的规范化原则。这取决于很多事情,但连接操作可能比附加列慢,尤其是在这些列没有索引或键的情况下。