繁体   English   中英

MySQL性能:DATE与TINYINT

[英]MySQL performance: DATE vs TINYINT

通常,我的表包含一个DATE列,并且当它永久为空时为0000-00-00。 最好添加一个附加列TINYINT来跟踪该行是否永久处于活动状态,这样我的搜索性能会更好吗? 还是只保留DATE列?

SELECT columns FROM table_name WHERE date_is != '0000-00-00'

SELECT columns FROM table_name WHERE col_emplty != '1'

TinyInt应该搜索得更快,不是吗?

如果需要,可以将日期列的默认值设置为null。 因此,您只需要检查数据是否为IS NOT NULL ,因为添加额外的列只是为了查看下一列是否具有正确的日期格式是没有意义的。

添加新字段将NULL允许到列将解决您的问题,但这两者都不是一个好习惯。

如果您有99%的时间要根据日期(可以是任何日期的默认日期)选择数据,或者要更新此日期字段,则可以在此处创建一个int列而不是日期类型,并保留作为yyyymmdd的值(例如:而不是保留'2015-04-19'(date)将数据保留为20150419(10000 *年+ 100 *月+日期)并比较日期值),因为这是一个搜索和更新表将很快。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM