Which form of hashing would return the fastest results (and least chance of 2 results returning the same hash) when summing up the hash of all rows (10 million) for one column(could be NUMBER, VARCHAR, DATE, TIMESTAMP but no CLOBS,XML.etc)? This value would then be compared to the same operation on another table to check if all rows for that same column are exactly the same.
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;
/