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

बड़ी डीबी तालिका के लिए एसक्यूएल अनुकूलक

आपको शायद व्याख्या योजना से शुरुआत करनी चाहिए ।

फिर अपना प्रश्न संपादित करें, और SQL कथन और EXPLAIN PLAN का आउटपुट पोस्ट करें।

<मजबूत>बाद में। . .

मैं उस प्रश्न पर आपकी बहुत मदद नहीं करने जा रहा हूँ। 269 ​​लाइनें, कम से कम 29 चयन, समानांतर क्वेरी, दूरस्थ डेटाबेस, बाहरी जुड़ाव (पुरानी शैली), और इसी तरह।

सबसे अच्छी सलाह जो मैं आपको दे सकता हूं वह है

  • व्याख्या योजना से अधिक जानकारी प्राप्त करें, और
  • समस्या को सरल बनाएं।

योजना तालिका आमतौर पर पोस्ट किए जाने की तुलना में अधिक कॉलम होते हैं। कॉलम COST, CARDINALITY, BYTES, और TIME आपके ट्यूनिंग प्रयास को प्राथमिकता देने में उपयोगी हो सकते हैं।

उस क्वेरी में आपके पास 10 पूर्ण टेबल स्कैन हैं। ("टेबल एक्सेस पूर्ण" क्वेरी प्लान में।) यह आमतौर पर एक बुरा संकेत है; पूर्ण तालिका स्कैन को चलाने में अक्सर अपेक्षाकृत लंबा समय लगता है। यह हमेशा नहीं है एक बुरा संकेत। एक छोटी तालिका का पूर्ण स्कैन किसी अनुक्रमणिका स्कैन से तेज़ हो सकता है।

अपनी क्वेरी में 29 SELECT स्टेटमेंट में से प्रत्येक के लिए EXPLAIN PLAN आउटपुट प्राप्त करके प्रारंभ करें। यदि उनमें से कोई एक पूर्ण तालिका स्कैन दिखाता है, तो आप संभवतः उपयुक्त अनुक्रमणिका . (Oracle कई अलग-अलग प्रकार की अनुक्रमणिकाओं का समर्थन करता है। बहु-स्तंभ अनुक्रमणिका के अवसरों को नज़रअंदाज़ न करें।) किसी भी स्थिति में, EXPLAIN PLAN आउटपुट आपको 29 चयनों में से सबसे धीमे की पहचान करने में मदद करेगा।



  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. ओरेकल ऑर्डर अलग-अलग कॉलम द्वारा समान चयन कथन

  3. मैं एक ORA-01427 त्रुटि को कैसे हल कर सकता हूं (एकल-पंक्ति सबक्वेरी एक से अधिक पंक्ति देता है)?

  4. Oracle:क्वेरी टाइमआउट सेट करें

  5. Oracle PL/SQL - स्थानीय रूप से परिभाषित तालिका के कॉलम नामों पर पुनरावृति