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

MySQL में कुछ पंक्तियाँ हटाने के बाद टेबल कैसे ऑप्टिमाइज़ करें?

MySQL में OPTIMIZE TABLE से टेबल ऑप्टिमाइज़ करना

पंक्तियाँ हटाने के बाद टेबल को ऑप्टिमाइज़ करने के लिए OPTIMIZE TABLE कमांड का उपयोग करें। यह खाली स्थान पुनः प्राप्त करता है और इंडेक्स पुनर्निर्माण करता है।

टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(100)
);
Query OK, 0 rows affected (1.38 sec)
mysql> INSERT INTO DemoTable(Name) VALUES('Chris');
Query OK, 1 row affected (0.27 sec)
mysql> INSERT INTO DemoTable(Name) VALUES('Robert');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable(Name) VALUES('Bob');
Query OK, 1 row affected (0.22 sec)
mysql> INSERT INTO DemoTable(Name) VALUES('David');
Query OK, 1 row affected (0.38 sec)

पंक्तियाँ हटाना

mysql> DELETE FROM DemoTable WHERE Id IN (1, 3);
Query OK, 2 rows affected (0.29 sec)
mysql> SELECT * FROM DemoTable;
+----+--------+
| Id | Name   |
+----+--------+
| 2  | Robert |
| 4  | David  |
+----+--------+
2 rows in set (0.00 sec)

टेबल ऑप्टिमाइज़ करना

mysql> OPTIMIZE TABLE DemoTable;
+------------------+----------+----------+-------------------------------------------------------------------+
| Table            | Op       | Msg_type | Msg_text                                                          |
+------------------+----------+----------+-------------------------------------------------------------------+
| web.DemoTable    | optimize | note     | Table does not support optimize, doing recreate + analyze instead |
| web.DemoTable    | optimize | status   | OK                                                                |
+------------------+----------+----------+-------------------------------------------------------------------+
2 rows in set (4.32 sec)

व्याख्या: InnoDB टेबल के लिए OPTIMIZE TABLE वास्तव में ALTER TABLE ... FORCE चलाता है (टेबल पुनर्निर्माण + विश्लेषण)। संदेश Table does not support optimize, doing recreate + analyze instead सामान्य है।

कब उपयोग करें: बड़ी संख्या में पंक्तियाँ हटाने या अपडेट करने के बाद, या जब टेबल फ्रैगमेंटेड हो।

  1. - MySQL टेबल से डेटा डिलीट करने के बाद ऑटो इन्क्रीमेंट को 1 से कैसे शुरू करें?

    इसके लिए आप TRUNCATE TABLE कमांड का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1796 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें

  1. - MySQL में INSERT INTO SELECT से एक टेबल से दूसरी टेबल में पंक्तियाँ कॉपी करें

    INSERT INTO ... SELECT स्टेटमेंट का उपयोग करके एक टेबल से दूसरी टेबल में पंक्तियाँ कॉपी करें (शर्त के साथ)। स्रोत टेबल mysql> CREATE TABLE DemoTable1879 (Id INT, Name VARCHAR(20)); mysql> INSERT INTO DemoTable1879 VALUES(101, Chris Brown), (102, David Miller), (103, Adam Smith); लक्ष्य टेबल

  1. - MySQL में टेबल के अस्तित्व का पता कैसे लगाएं

    समाधान INFORMATION_SCHEMA.TABLES का उपयोग करें। सिंटैक्स SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = yourTableName; उदाहरण टेबल बनाएं: ); जांच क्वेरी WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = DemoTable2032; परिणाम +---------------+ |