वैश्विक अस्थायी तालिकाओं में किसी भी अन्य तालिका की तरह आँकड़े हो सकते हैं। वास्तव में वे किसी भी अन्य तालिका की तरह हैं, उनके पास केवल अस्थायी टेबलस्पेस में डेटा सेगमेंट हैं।
11g में आँकड़े वैश्विक हैं इसलिए वे कभी-कभी निष्पादन योजनाओं के साथ समस्याएँ पैदा करते हैं। 12c में वे सत्र आधारित होते हैं इसलिए प्रत्येक सत्र को उचित (यदि उपलब्ध हो) मिलता है।
संग्रह प्रकार कार्डिनैलिटी डीबी ब्लॉक आकार पर आधारित है और डिफ़ॉल्ट रूप से 8 केबी ब्लॉक 8168 है। संग्रह सामग्री पीजीए में संग्रहीत है। ऑप्टिमाइज़र को इंगित करने के लिए जटिल प्रश्नों में संग्रह प्रकारों का उपयोग करते समय कार्डिनैलिटी को इंगित करना काफी आम है। आप लागत की गणना के लिए अपने तरीके से लागू करने के लिए विस्तारित अनुकूलक इंटरफ़ेस का भी उपयोग कर सकते हैं।
संपादित करें - अतिरिक्त परीक्षण:
CREATE TYPE STRINGTABLE IS TABLE OF VARCHAR2(255);
CREATE GLOBAL TEMPORARY TABLE TMP (VALUE VARCHAR2(255));
INSERT INTO TMP SELECT 'Value' || LEVEL FROM DUAL CONNECT BY LEVEL <= 1000000;
DECLARE
x STRINGTABLE;
cnt NUMBER;
BEGIN
SELECT VALUE BULK COLLECT INTO x FROM TMP;
DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSTIMESTAMP, 'MI:SS.FF3'));
SELECT SUM(LENGTH(VALUE)) INTO cnt FROM TMP;
DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSTIMESTAMP, 'MI:SS.FF3'));
SELECT SUM(LENGTH(COLUMN_VALUE)) INTO cnt FROM TABLE(x);
DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSTIMESTAMP, 'MI:SS.FF3'));
END;
इस मामले में मेरी परीक्षण मशीन पर संग्रह की तुलना में लगभग दुगनी तेजी से जीटीटी तक पहुंच है, सीसीए 200 एमएस बनाम 400 एमएस। जब मैंने पंक्तियों की संख्या बढ़ाकर 10,000,000 कर दी, तो मुझे ORA-22813:ऑपरेंड मान दूसरी क्वेरी पर सिस्टम की सीमा से अधिक हो गया।