我有两张非常大的桌子,mydata和mytypelist。在两个表中我都有一个NAME列,我想加入它们。说起来容易做起来难,因为这些桌子是由两个不同的人制作的,而且这些名字的差异足以引起麻烦(例如" John Doe"和#34; John Doe")。
我目前正处于这一点:
select mydata.*, mytypelist.*
from mydata
cross join mytypelist
where instr( upper( mydata.name ), upper( mytypelist.name) ) > 0
由于我的表(10 ^ 6行)的大小,这需要很长时间并且有可能消耗所有可用的CPU。
是否有更有效的方法来匹配两个这样的大表?该方法适用于较小的表。