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

एक बहुत बड़ी ऑरैकल तालिका को अद्यतन करना

यदि आपका update . है तो Oracle के पूर्ववत लॉग में लिखने से बचने के लिए कथन तालिका की हर एक पंक्ति को हिट करता है तो आप create table as select . चलाने से बेहतर हो सकते हैं क्वेरी जो सभी पूर्ववत लॉग को बायपास कर देगी, जो संभवतः वह समस्या है जिसमें आप चल रहे हैं क्योंकि यह 60 मिलियन पंक्तियों में प्रभाव को लॉग कर रहा है। फिर आप पुरानी तालिका को छोड़ सकते हैं और नई तालिका का नाम बदलकर पुरानी तालिका के नाम पर रख सकते हैं।

कुछ इस तरह:

create table new_people as
select l.newid,
       p.col2,
       p.col3,
       p.col4,
       p.col5
  from people p
  join id_conversion l
    on p.id = l.id;

drop table people;

-- rebuild any constraints and indexes
-- from old people table to new people table

alter table new_people rename to people;

संदर्भ के लिए, कुछ युक्तियों को यहां पढ़ें:http://www.dba-oracle.com /t_efficiency_update_sql_dml_tips.htm

यदि आप मूल रूप से एक नई तालिका बना रहे हैं और न केवल तालिका की कुछ पंक्तियों को अपडेट कर रहे हैं, तो यह संभवतः तेज़ विधि साबित होगी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL जहां 30 दिनों से अधिक पुराने दिनांक रिकॉर्ड खोजने के लिए क्लॉज है

  2. ओरेकल 11 जी और हाइबरनेट वसंत और जेएसएफ का एकीकरण

  3. प्रवाह को नियंत्रित करने के लिए विंडोज कमांड स्क्रिप्ट में एसक्यूएल * प्लस का उपयोग कैसे करें?

  4. क्वेरी हटाएं काम नहीं कर रहा है फॉर्म जावा एप्लिकेशन

  5. Oracle:तालिका से समूह में शामिल होने के साथ डुप्लिकेट हटाएं