Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

क्या कॉनकैट बनाम || . के बीच प्रदर्शन अंतर है ओरेकल में

मैंने एक सरल पीएल/एसक्यूएल स्क्रिप्ट (नीचे) की स्थापना की है ताकि प्रत्येक संयोजन 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 . के उद्देश्य के बारे में यह कहता है समारोह:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक कॉलम में दोहराए जाने वाले मान

  2. Oracle में mysql के Find_in_set का विकल्प क्या है?

  3. Oracle निष्क्रिय कनेक्शन

  4. Oracle में किसी संख्या को 2 दशमलव स्थानों पर प्रारूपित करने के 3 तरीके

  5. क्या SQLDeveloper स्क्रिप्ट निष्पादित करने का समर्थन करता है?