如果我有这样的表:
my_table
=======================
id date some_data
将日期拉到自己的桌子上是否有意义?日期字段将使用日期数据类型.所以它现在看起来像这样:
my_table
==========================
id date_id some_data
dates
==========
id date
根据MySQL,日期数据类型= 3个字节. date_id需要是MEDIUMINT(3个字节)的最大值才能得到相同的结果.普通的INT或BIGINT超出了DATE类型的存储要求.
单独表的缺点是查询会更复杂,因为我正在加入另一个表.
是否有任何其他后果需要考虑是否将日期字段拆分为自己的表格?我的直觉反应是,除非你处理一小组日期(小到足以使用TINYINT或SMALLINT),否则它不值得做.
解决方法:
在我看来,这是一个过度思考你的设计的经典例子.
将日期保存在同一个表中,以便在必要时可以使用其他列轻松编制索引,而不占用3倍的字节数,并且不会让生活成为未来开发人员的生活地狱.
标签:mysql,datatypes
来源: https://codeday.me/bug/20190806/1596042.html