मैंने एक सरल पीएल/एसक्यूएल स्क्रिप्ट (नीचे) की स्थापना की है ताकि प्रत्येक संयोजन 100 मिलियन बार लूप के भीतर दोनों संयोजन विकल्पों को आजमाया जा सके। ||
. के लिए परिणाम 142.93 सेकंड था और CONCAT
144.11 सेकंड था। किसी भी तरह से, आप प्रति ऑपरेशन लगभग 1.4 माइक्रोसेकंड के बारे में बात कर रहे हैं। मेरा निष्कर्ष यह है कि कोई सराहनीय प्रदर्शन अंतर नहीं दिखता है।
अधिक पठनीय होने के अलावा, ||
संयोजन ऑपरेटर के लिए एएनएसआई मानक है।
DECLARE
i NUMBER;
j NUMBER := 100000000;
v VARCHAR2 (1000);
v_start TIMESTAMP := SYSTIMESTAMP;
BEGIN
FOR i IN 1 .. j LOOP
v := DBMS_RANDOM.VALUE () || DBMS_RANDOM.VALUE ();
END LOOP;
DBMS_OUTPUT.put_line ('1: ' || (SYSTIMESTAMP - v_start));
END;
DECLARE
i NUMBER;
j NUMBER := 100000000;
v VARCHAR2 (1000);
v_start TIMESTAMP := SYSTIMESTAMP;
BEGIN
FOR i IN 1 .. j LOOP
v := CONCAT (DBMS_RANDOM.VALUE (), DBMS_RANDOM.VALUE ());
END LOOP;
DBMS_OUTPUT.put_line ('2: ' || (SYSTIMESTAMP - v_start));
END;
फुटनोट के रूप में, Oracle
CONCAT
. के उद्देश्य के बारे में यह कहता है समारोह: