我有一个包含14,091行的表(2列,我们先说名字,姓)。然后我有一个日历表,有553行日期(每个月的第一天)。我做一个交叉连接,以获得名字,姓氏和&的每个组合。因为这是我的要求。这需要一分钟。
我能做些什么来加快速度,或者交叉加入永远不会像我怀疑的那样变得更快?
人员表
first_name varchar2(100)
last_name varchar2(1000)
日期表
dt DateTime
select a.first_name, a.last_name, b.dt
from people a, dates b
答案 0 :(得分:1)
制作所有可能的组合会很慢。 14091 * 553.在你有索引或内连接之前,它不会很快。
答案 1 :(得分:0)
呀。花一点多时间。让我们明白这一点。你说的是14091 * 553行 - 即7792323.Rounded是780万行。并将它们加载到数据表中(性能不可知)。
想看慢吗?将它们放入网格中。那你看得慢。
表格中的要求毫无意义。没有。绝对没有。
不,没有办法加速将780万行加载到数据结构中,而这种数据结构并不意味着保存这些数据量。