mysql - MySQL 的日期维度生成器

标签 mysql database datetime data-warehouse dimensional-modeling

我正在设计一个数据仓库,我需要一个可以生成日期维度的工具。我正在使用 MySQL 5.x。

谢谢

最佳答案

您没有指定您是使用第三方 ETL 应用程序还是使用自己的应用程序。

如果您使用的是第三方应用程序,很可能会有一个小部件或功能可用于帮助生成您的日期维度。例如,使用 Pentaho 数据集成工具包,请参阅 O'Reilly 数据库博客中的这篇优秀文章:http://www.oreillynet.com/databases/blog/2007/09/kettle_tip_using_java_locales.html

如果您自己滚动,生成两个给定日期之间的每个日期是一个非常简单的练习。存储过程的性能会更高,但是用实现 ETL 所用的语言编写函数将更易于维护。 @hafichuk 发布的有用链接是如何在存储过程中进行生成的很好示例。由于您正在设计架构,因此您必须编写自己的过程以符合您对日期维度的定义,或者至少修改这些过程。

最后,请确保您选择的解决方案具有灵 active - 即使“世界”的每个生产实例构建只会生成一次日期,但在同一日期维度生成时还会有很多其他时间需要使用代码。 (测试运行、演示/暂存部署、在集成测试套件中……)因此,它需要足够快和/或足够灵活,这样才不会成为瓶颈。用 ETL 语言生成日期维度并在每个适用日期范围的集成测试开始时这样做会很快变旧。

关于mysql - MySQL 的日期维度生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8358536/

相关文章:

java - 如何在基于角色的访问控制上实现默认角色

php - 付款单上的自定义自动增量

php - 不支持的驱动程序 [mysql2] : While using multiple database

c# - 检查日期是否是这个日期或更大

python - 如何在 pandas date_range 方法中包含结束日期?

mysql - 忽略 str_to_date 错误

php - 获取逗号分隔字符串中包含的行

mysql - 使用MySQL对多表进行SQL优化(七)

database - 当 Web 应用程序使用多个数据库(如 Sitecore 拥有)时,写入数据库如何工作

database - 数据库水平扩展和垂直扩展的区别