मेरे पास एक टेबल है
| base_schedule_line_items | बनाएँ तालिका
base_schedule_line_items(
idint (10) अहस्ताक्षरित नहीं AUTO_INCREMENT,
installmentint (10) अहस्ताक्षरित नहीं पूर्ण,
on_dateदिनांक नहीं, पूर्ण
actual_dateतिथि , पूर्ण दिनांक,
payment_typeपूर्णांक (11) नहीं पूर्ण,
scheduled_principal_outstandingदशमलव (65,0) नहीं पूर्ण,
scheduled_principal_dueदशमलव (65,0) नहीं पूरा,
scheduled_interest_outstandingदशमलव (65,0) नहीं पूर्ण,
scheduled_interest_dueदशमलव (65,0) पूर्ण नहीं,
currencyपूर्णांक (11) नहीं
updated_atपूर्ण, डेटाटाइम
created_atनहीं पूर्ण विवरण '2013-01-06 14:29:16', डेटाटाइम नहीं पूर्ण विवरण ' 2013-01-06 14:29:16 ',
loan_base_schedule_idint (10) अहस्ताक्षरित NULL,
lending_idint (10) अहस्ताक्षरित NULL,
rescheduleटिनीलिंट (1) DEFAULT' 0 ',
PRIMARY KEY (id),
कुंजीindex_base_schedule_line_items_loan_base_schedule(loan_base_schedule_id), कुंजीindex_bslt_spd(scheduled_principal_due), ...
कुंजीindex_bslt_lending(lending_id),
कुंजीindex_bslt_actualdate(actual_date),
कुंजीindex_bslt_spsila(loan_base_schedule_id,scheduled_principal_due,scheduled_interest_due,actual_date),
कुंजीindex_bslt_ondate(on_date),
कुंजीindex_bslt_oa(on_date,actual_date),
कुंजीindex_bslt_ol(on_date,loan_base_schedule_id),
कुंजीindex_bslt_oli(on_date,lending_id)
) इंजन = InnoDB AUTO_INCREMENT = 30,410,126 डिफ़ॉल्ट charset = UTF8 |
अब इस तालिका में 30 मिलियन रिकॉर्ड हैं, मुझे इसमें दो और इंडेक्स जोड़ने की जरूरत है और इसे जोड़ने में वर्षों लग जाते हैं।
परिवर्तन तालिका का आधार_संयुक्त_प्रतिष्ठित_ सूचकांक सूचकांक अनुक्रमणिका_बसाल_सला (अनुसूचित_प्रतिष्ठा_सूत्र, वास्तविक_दान, उधार_द) जोड़ें;
परिवर्तन तालिका का आधार_संपादित करें____प्रतिष्ठित सूचकांक अनुक्रमणिका_बसाल_सब्ला (अनुसूचित_प्रतिष्ठाप्रचार_दुः, शेड्यूल_डेंटेस्ट_ड्यू, लेंडिंग_ड, एक्चुअल_डेट) जोड़ें;
मैंने तालिका के आकार का पता लगाने के लिए नीचे दी गई क्वेरी का उपयोग किया
SELECT table_name AS "टेबल्स", राउंड ((data_length + index_length) / 1024/1024), 2) "साइज़ इन एमबी" FROM information_schema.TABLES WHERE table_schema = "my_database_name";
नतीजा जैसे ही सामने आया
base_schedule_line_items | 20111.00
मैंने इसका इस्तेमाल सिर्फ डेटा की लंबाई और इंडेक्स लंबाई को छोड़ने के लिए किया
SELECT table_name AS "टेबल्स", राउंड (((data_length) / 1024/1024), 2) "साइज़ इन एमबी" FROM से जानकारी_schema.TABLES WHERE table_schema = "my_dhemabase_name";
और परिणाम था
base_schedule_line_items | 9497.00
सूचकांक
कुंजी index_bslt_actualdate (actual_date),
कुंजी index_bslt_spsila (loan_base_schedule_id, scheduled_principal_due, scheduled_interest_due, actual_date),
कुंजी index_bslt_ondate (ON_DATE),
कुंजी index_bslt_oa (ON_DATE, actual_date),
कुंजी index_bslt_ol (ON_DATE, loan_base_schedule_id),
कुंजी index_bslt_oli (ON_DATE, lending_id)
मेरे द्वारा जोड़े गए थे, लेकिन मैं fsure नहीं हूं या किस उद्देश्य से अन्य सूचकांक जोड़े गए थे। यह काफी बड़ा एप्लिकेशन है। अब मुझे ऊपर वर्णित उन दो सूचकांकों को जोड़ने की आवश्यकता है क्योंकि वे मुझे एक चयन कथन का उपयोग करके एक रिपोर्ट निकालने में मदद करते हैं और मुझे उन्हें जोड़ना बहुत मुश्किल है। किसी भी तरह की सहायता का स्वागत किया जाएगा