我们有一个数据仓库,里面有来自ERP系统的表和视图。视图包含与表相同的信息,但日期具有不同的类型。视图的日期类似于'01.01.2020‘,表的日期类似于数字'19001’。
现在,从性能/刷新的角度来看。什么是更好的性能?我是否应该使用带有日期作为数字的原始表?我们讨论的是10mio行。
发布于 2020-07-07 09:31:16
对数值进行即时转换很容易完成
SQL> select to_date('19041','YYDDD') from dual;
TO_DATE('
---------
10-FEB-19但请放心,将日期存储为任何形式,而不是日期,通常会给您带来麻烦。如果您可以在加载时转换它,或者甚至可以使用虚拟列,然后收集该列上的优化器统计信息,那么您将比直接使用number列更好。
这里有一些视频演示,展示了一旦你开始偏离数据的“自然”数据类型,事情通常会变得糟糕。
https://stackoverflow.com/questions/62719788
复制相似问题