Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle utl_匹配比较多个记录_Oracle_Performance_Jaro Winkler_Utl Match - Fatal编程技术网

Oracle utl_匹配比较多个记录

Oracle utl_匹配比较多个记录,oracle,performance,jaro-winkler,utl-match,Oracle,Performance,Jaro Winkler,Utl Match,我有两个表——一个有一百万条记录,另一个有40000条记录 我需要比较一个表中的每条记录,如果另一个表上有类似的字符串 问题是这个过程非常缓慢 我需要优化这个程序 表A 从员工全名中选择名字| | |“| |姓氏” 环路 选择计数* 进入num_Concerncias 来自表b 其中utl_match.jaro_winkler_similarityb.name,tablea.fullname>98 dbms_output.put_linenum_concurrencias; 端环 你知道你在做4

我有两个表——一个有一百万条记录,另一个有40000条记录

我需要比较一个表中的每条记录,如果另一个表上有类似的字符串

问题是这个过程非常缓慢

我需要优化这个程序

表A 从员工全名中选择名字| | |“| |姓氏” 环路

选择计数* 进入num_Concerncias 来自表b 其中utl_match.jaro_winkler_similarityb.name,tablea.fullname>98

dbms_output.put_linenum_concurrencias;
端环

你知道你在做400亿次比较吗?不管你用什么方法,这都需要很长时间

将其转换为SQL语句将消除上下文切换,我不知道您的计算机是否有足够的资源在一个SQL语句中完成这一切:

  SELECT COUNT (*) c, a.first_name || ' ' || a.last_name full_name
    FROM employee a CROSS JOIN tableb b
   WHERE UTL_MATCH.jaro_winkler_similarity (b.first_name, a.first_name || a.last_name) > 98
GROUP BY a.first_name || ' ' || a.last_name