Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL OPTIMIZE TABLE स्टेटमेंट से टेबल डीफ्रैगमेंटेशन और प्रदर्शन सुधार

अत्यधिक INSERT, UPDATE, DELETE ऑपरेशन्स से टेबल की भौतिक संग्रहण खंडित (fragmented) हो जाती है, जिससे प्रदर्शन गिरता है। OPTIMIZE TABLE टेबल को पुनर्गठित करके खंडन दूर करता है।

सिंटैक्स

OPTIMIZE TABLE table_name;

उदाहरण

mysql> OPTIMIZE TABLE student_info\G
*************************** 1. row ***************************
Table: query.student_info
Op: optimize
Msg_type: status
Msg_text: OK
1 row in set (1.34 sec)

क्या होता है

  • MyISAM: डेटा फाइल डिफ्रैगमेंट, इंडेक्स ट्री पुनर्निर्माण, अप्रयुक्त स्थान मुक्त
  • InnoDB: ALTER TABLE ... ENGINE=InnoDB के समान — टेबल पुनर्निर्माण, इंडेक्स पुनर्निर्माण, स्थान पुनर्प्राप्ति
  • सांख्यिकी भी अपडेट होती है (ANALYZE TABLE के समान)

आउटपुट फील्ड्स

  • Op: optimize
  • Msg_type: status
  • Msg_text: OK या चेतावनी (जैसे "Table does not support optimize, doing recreate + analyze")

कब चलाएं

  • बड़े पैमाने पर DELETE/UPDATE के बाद
  • महीनों/वर्षों से चल रही टेबल्स पर
  • SHOW TABLE STATUS में Data_free बड़ा दिखने पर
  • रखरखाव विंडो के दौरान (लॉक हो सकता है)

सावधानियां

  • बड़ी टेबल्स पर समय/लॉक ले सकता है
  • InnoDB में innodb_file_per_table=ON आवश्यक
  • प्रतिकृति स्लेव्स पर सावधानी से चलाएं
नोट: MySQL 8.0+ में OPTIMIZE TABLE ऑनलाइन DDL का उपयोग कर सकता है (कम लॉकिंग)।
  1. - MySQL IGNORE INSERT स्टेटमेंट का क्या उपयोग है?

    मूल रूप से, IGNORE INSERT स्टेटमेंट का उपयोग MySQL तालिका में डुप्लिकेट डेटा के सम्मिलन को रोकने के लिए किया जाता है। यदि हम INSERT कमांड के बजाय INSERT IGNORE कमांड का उपयोग करेंगे तो यदि कोई रिकॉर्ड मौजूदा रिकॉर्ड को डुप्लिकेट नहीं करता है, तो MySQL इसे हमेशा की तरह सम्मिलित करता है लेकिन यदि रिकॉ

  1. - MySQL में टेबल नाम की अधिकतम लंबाई क्या है?

    MySQL वर्जन 8.0.12 के अनुसार टेबल नाम की अधिकतम लंबाई 64 कैरेक्टर लंबी होती है। अपना इंस्टॉल किया हुआ MySQL वर्जन चेक करें। mysql> select version(); आउटपुट निम्न है। +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.03 sec) टेबल बनाते समय टेबल नाम की अधिक

  1. - C# में 'using' स्टेटमेंट का उपयोग

    C# में using स्टेटमेंट: रिसोर्स मैनेजमेंट using स्टेटमेंट IDisposable इंटरफेस इम्प्लीमेंट करने वाले ऑब्जेक्ट्स के जीवनचक्र को स्वचालित रूप से प्रबंधित करता है। यह सुनिश्चित करता है कि Dispose() मेथड कॉल हो, भले ही एक्सेप्शन 발생 हो। सिंटैक्स using (ResourceType resource = new ResourceType()) { //