मेरे पास एक टेबल है
| base_schedule_line_items | बनाएँ तालिका
base_schedule_line_items
(
id
int (10) अहस्ताक्षरित नहीं AUTO_INCREMENT,
installment
int (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_id
int (10) अहस्ताक्षरित NULL,
lending_id
int (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 नहीं हूं या किस उद्देश्य से अन्य सूचकांक जोड़े गए थे। यह काफी बड़ा एप्लिकेशन है। अब मुझे ऊपर वर्णित उन दो सूचकांकों को जोड़ने की आवश्यकता है क्योंकि वे मुझे एक चयन कथन का उपयोग करके एक रिपोर्ट निकालने में मदद करते हैं और मुझे उन्हें जोड़ना बहुत मुश्किल है। किसी भी तरह की सहायता का स्वागत किया जाएगा