當總結一列的所有行(1000萬)的散列(可能是NUMBER,VARCHAR,DATE,TIMESTAMP,但不包含)時,哪種形式的散列會返回最快的結果(並且返回2個結果的可能性最小) CLOBS,XML.etc)?然後將該值與另一個表上的相同操作進行比較,以檢查相同列的所有行是否完全相同。加快散列,減少衝突?
SET SERVEROUTPUT ON
DECLARE
HASH_VAL NUMBER;
begin
DBMS_OUTPUT.PUT_LINE (OWA_OPT_LOCK.CHECKSUM('column_here'));
DBMS_OUTPUT.PUT_LINE (DBMS_UTILITY.GET_HASH_VALUE('column_here',1,POWER(2,31)-1));
EXECUTE IMMEDIATE 'SELECT ORA_HASH(''column_here'') FROM DUAL' INTO HASH_VAL;
DBMS_OUTPUT.PUT_LINE (HASH_VAL);
DBMS_OUTPUT.PUT_LINE (DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => 'column_here'));
DBMS_OUTPUT.PUT_LINE (DBMS_CRYPTO.HASH(UTL_RAW.CAST_TO_RAW('column_here'),3));
END;
/