Dax*_*xon 6 java database datetime jodatime
Java 和 DB for DateTime 哪个最有利?(使用 JodaTime 作为日期)
(DateTime 对象 (Java) + TIMESTAMP (DB) ) VS (毫秒长 (Java) + BIGINT(DB)
用于在底层数据库支持的 Java Web 应用程序中使用日期时间信息
兴趣范围
例如,假设我有一个带有开始和结束日期时间的事件。在数据库中使用 BIGINT 搜索日期事件是否比 TIMESTAMPS 更快
当可扩展性和检索问题出现时,我可能会交换底层数据库。
将日期时间保存为 MySQL 数据库中的时间戳会在移植到其他数据库(如 Oracle)时导致问题吗?
我目前在java中使用Joda DateTime,然后存储该值的毫秒数。
检索它时,我将毫秒转换回 DateTime 对象并显示它。
自 1970\xe2\x80\x9d 以来,我\xe2\x80\x99m 始终使用 \xe2\x80\x9cmilliseconds 方法。这样我\xe2\x80\x99就不必担心日期属于哪个时区,因为数据库中的日期始终是UTC。
\n这里确实有两个问题。首先,在 Java 中应该使用什么抽象来表示时间?Joda Time 绝对比 java.util.Date 更好。如果您想知道是否简单地使用 long - 我想如果您需要进行任何日期操作或比较,您将无法摆脱这一点。那么,乔达时间。
然后,最好在 MySQL 中使用 TIMESTAMP,因为它在存储方面几乎相同,并且当您想在列上使用日期函数时,MySQL 会将该值适当地视为日期。JDBC 驱动程序也会理解它应该映射到日期类型。
我无法想象如果您需要的话,您在将日期类型(在架构中正确表示为日期)移植到另一个数据库时会遇到麻烦。如果您将日期类型视为 bigint,我可以想象会出现问题,这是不太正确的。
因此,只需在这里选择最正确的类型即可。无论如何,我怀疑选择不太合适的类型是否能带来任何性能提升。
| 归档时间: |
|
| 查看次数: |
3584 次 |
| 最近记录: |