Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多个MySQL日期时间列_Mysql_Sql_Database_Datetime - Fatal编程技术网

多个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 对于这种情况有更好的

我正在设计一个简单的订购系统,并希望跟踪每个订单的多个日期

  • 订购日期
  • 填写日期
  • 装运日期
  • 收到日期
目前,我的计划是对每个订单的每个日期使用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)中


实际上,它指的是数据库设计的规范化原则。

这取决于很多事情,但连接操作可能比附加列慢,尤其是在这些列没有索引或键的情况下。