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

PostgreSQL में बड़ी तालिका में डिलीट क्वेरी को निष्पादित करने का सबसे तेज़ तरीका

अगर इस क्वेरी में लंबा समय लग रहा है:

delete from PlanItems p where p.jobId = :jobid

और आपके पास PlanItmes(jobId) . पर एक अनुक्रमणिका है -- जहां jobId अनुक्रमणिका में पहला स्तंभ है -- फिर आपको अन्य मुद्दों पर विचार करने की आवश्यकता है।

  1. क्या jobId . का उपयोग करने वाली कैस्केडिंग विदेशी कुंजी बाधाएं हैं? ? यदि ऐसा है तो कैस्केड उन तालिकाओं को प्रभावित कर सकते हैं -- और यदि वे कैस्केडिंग हटा रहे हैं, तो उन पंक्तियों को हटाने से अधिक तालिकाएं प्रभावित हो सकती हैं।

  2. क्या टेबल पर कोई डिलीट ट्रिगर है? अगर ऐसा है, तो हो सकता है कि आपके "सरल" डिलीट आपके विचार से कहीं अधिक काम कर रहे हों।

  3. क्या सिस्टम पर भारी बोझ है? यदि ऐसा है, तो समय शायद पंक्तियों को हटाने के अवसर की प्रतीक्षा कर रहा है।

  4. क्या भौतिक दृश्य मेज पर बने हैं? अगर ऐसा है, तो उन्हें ताज़ा किया जा सकता है।

अगर इनमें से कोई भी मामला नहीं है, तो यह एक मुद्दा हो सकता है कि आप बीता हुआ समय कैसे माप रहे हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में तालिकाओं के आंकड़े डेटा को मैन्युअल रूप से कैसे अपडेट करें

  2. पुनरावर्ती JSONB पोस्टग्रेज

  3. Postgres 12 . में सूची विभाजन

  4. PostgreSQL MySQL से कितना अलग है?

  5. गिनती (*) SQL कथन में आवश्यक द्वारा समूह?