我有一个事件表,其中包含一个IP地址列。我还有一个映射表,它采用0填充的IP地址范围,并有一个相应的城市,国家。
我可以编写将IP地址转换为0填充IP地址的查询,然后加入我的映射表。
但是在性能方面,我无法获得任何工作。事件表是40米+行,因此在我拔出插头之前,尝试基于字段操作的连接需要30分钟。我尝试映射映射表(IP到0填充IP),但它没有改进。即使与城市建立一个简化的独特IP地址表也将永远存在。
我是否应该采取一种方法或策略来尝试更有效地合并这些数据集?
答案 0 :(得分:0)
每次都不需要动态执行此操作。一个好的方法是实现。特别是因为您的数据可能是不可变的(一旦记录了行中的任何数据,IP就不会更改),您有更多选择。他们可以是:
如果你能负担得起存储40m +表的另一个副本,你可以将结果存储为一个新表,其中包含源表加县的所有列(也可能是0填充的IP),如果没有,你可以存储一个表源表中的某些ID加上连接结果,提供比原始查询更快的连接。 或者,如果源表是某些ETL / ELT过程的结果,可能只是另一个步骤。