我想知道在mysql数据库中存储一周中几天的最有效方法.我有一个每周发生的事件列表,并希望在列表格式中将它们作为匹配日的时间表返回.
我不确定哪个是最好的方法,因为它不是特定日期而是一天?
对于您的特定场景,我会使用ENUM类型,它既可读又高效.
CREATE TABLE MY_TABLE
(
-- other fields
EVENT_DAY ENUM('SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY')
);
Run Code Online (Sandbox Code Playgroud)
关于ENUM的好处是,您可以编写易于阅读的查询(例如WHERE EVENT_DAY = 'FRIDAY'),而不会放弃性能,因为内部MySQL使用数字表示有效地存储数据.
为了扮演Devil's Advocate,Chris Komlenic写了一篇非常有趣的帖子,推荐参考表而不是枚举.无论如何,我认为你的问题适合他的文章"可能使用枚举的标准".一个模拟星期几的参考表听起来有点矫枉过正(我会选择TINYINT第二个选项).
| 归档时间: |
|
| 查看次数: |
4888 次 |
| 最近记录: |