首页 > 解决方案 > 使用 ora_hash 比较两个长字符串会比 Oracle 中的直接比较快

问题描述

我有两个表表 A 和表 B。两个表都有一百万行和一列 - 列 C,其中数据类型为“varchar2(3000)”。

以下是架构:

Create Table TableA
ID number(20),
C Varchar2(3000)

Create Table TableB
ID number(20),
C Varchar2(3000),
C_HARSH Varchar2(100)

我只有对表 A 的读取权限。但是,我是所有者并且对表 B 具有完全访问权限。两个表都有百万行

我需要对两个表中的 C 列进行比较。

如果我首先在表 B 中添加一个新列以存储表中 C 列的哈希值并比较表 A 中 C 列的哈希值而不是简单地比较长字符串会更快吗?

IE 会

B.C_Harsh = ora_hash(A.C,99,5)

比...快

B.C = A.C

在我的情况下?

-------------- 根据要求添加了示例--------

以下是 C 列中的示例数据之一

小改动

以下是 C 列(小改动)中的示例数据之一

重大变化 在此处输入图像描述

标签: stringoraclecomparisonora-hash

解决方案


推荐阅读