首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪一个更适合在MySQL中存储非公历日期时间?datetime+PHP转换或varchar或Unix时间戳为int

哪一个更适合在MySQL中存储非公历日期时间?datetime+PHP转换或varchar或Unix时间戳为int
EN

Stack Overflow用户
提问于 2016-07-14 15:20:15
回答 1查看 115关注 0票数 1

我有一个表,它应该有几个列用于非Gregorian (Jalali日历)。我需要按顺序和where语句使用它们,以便在HTML中显示完整的表内容。通过考虑和MySQL的执行时间(),哪一种方案可以提高性能?

1)在每次读写和使用MySQL时,使用PHP将非gregorian转换为gregorian。

2)在每次读写和使用MySQL int/bigint时,使用PHP将非Gregorian转换为UNIX时间戳。

( 3)使用MySQL varchar。

EN

回答 1

Stack Overflow用户

发布于 2016-07-14 16:24:35

这实际上取决于您期望在数据库中使用该值的程度,以及您希望如何在数据库中使用它。

我的直觉会建议在数据库端使用标准的日期时间,并且只在需要时在client/php端将提供的搜索条件转换为查询和显示日期。这将允许您利用内置的MySQL日期和日期时间函数。

然而,由于我对日历不熟悉,只浏览wiki,“计算日历有困难”,所以我的直觉可能是不正确的。您最好在数据库中为Jalali日历创建一组与MySQL提供的函数相对应的存储函数,或者使用完整的编程语言进行计算可能要容易得多。

您甚至可能希望将Jalali存储为标准日期/日期时间类型或unixtimestamp整数以外的东西;相反,您可能会发明或找到一些jalalitimestamp值的实现,这些实现可以利用MySQL中可用的索引选项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38378126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档