ANALYZE TABLE स्टेटमेंट टेबल की की वितरण सांख्यिकी (key distribution statistics) अपडेट करता है, जिससे क्वेरी ऑप्टिमाइज़र बेहतर निष्पादन योजना चुन सके।
क्यों आवश्यक है
- बड़े डेटा परिवर्तन (INSERT, UPDATE, DELETE) के बाद इंडेक्स सांख्यिकी पुरानी हो जाती है।
- गलत सांख्यिकी से ऑप्टिमाइज़र खराब जॉइन क्रम या इंडेक्स चुन सकता है → प्रदर्शन गिरावट।
सिंटैक्स
ANALYZE TABLE table_name;
उदाहरण
mysql> ANALYZE TABLE student_info\G
*************************** 1. row ***************************
Table: query.student_info
Op: analyze
Msg_type: status
Msg_text: OK
1 row in set (0.22 sec)
आउटपुट फील्ड्स
Table— डेटाबेस.टेबल नामOp— ऑपरेशन (analyze)Msg_type— status, error, info, warningMsg_text— संदेश (OK, Table is already up to date, आदि)
कब चलाएं
- बड़े बल्क INSERT/UPDATE/DELETE के बाद
- नए इंडेक्स बनाने के बाद
- नियमित रखरखाव (साप्ताहिक/मासिक)
- क्वेरी प्रदर्शन अचानक गिरने पर
संबंधित स्टेटमेंट्स
CHECK TABLE— अखंडता जांचOPTIMIZE TABLE— डिफ्रैगमेंट + सांख्यिकी अपडेटREPAIR TABLE— क्षतिग्रस्त टेबल मरम्मत (MyISAM)
नोट: InnoDB मेंANALYZE TABLEतत्काल नहीं होता (बैकग्राउंड सैंपलिंग)।innodb_stats_persistentसेटिंग व्यवहार नियंत्रित करती है।