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

MySQL में "repair with keycache" से कैसे बचें?

MySQL में "repair with keycache" से बचने का तरीका

MySQL में "repair with keycache" से बचने के लिए, आपको नीचे दिए गए सिंटैक्स का पालन करना होगा:

create table yourNewTableName as (select *from yourOldTableName);
alter table yourNewTableName add index(yourColumnName);

आइए पहले एक टेबल बनाते हैं:

mysql> create table DemoTable
(
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentFirstName varchar(20),
    StudentLastName varchar(20)
); Query OK, 0 rows affected (0.24 sec)

इन्सर्ट कमांड से टेबल में कुछ रिकॉर्ड डालें:

mysql> insert into DemoTable(StudentFirstName,StudentLastName) values('John','Doe'); Query OK, 1 row affected (0.05 sec)
mysql> insert into DemoTable(StudentFirstName,StudentLastName) values('David','Miller'); Query OK, 1 row affected (0.05 sec)

सेलेक्ट स्टेटमेंट से टेबल के सभी रिकॉर्ड प्रदर्शित करें:

mysql> select *from DemoTable;

आउटपुट:

+-----------+------------------+-----------------+
| StudentId | StudentFirstName | StudentLastName |
+-----------+------------------+-----------------+
| 1         | John             | Doe             |
| 2         | David            | Miller          |
+-----------+------------------+-----------------+
2 rows in set (0.00 sec)

चरण 1 - MySQL में "repair with keycache" से बचने का क्वेरी:

mysql> create table DemoTable as (select *from DemoTable); Query OK, 2 rows affected (0.34 sec) Records: 2 Duplicates: 0 Warnings: 0

चरण 2 - अब, ALTER TABLE का उपयोग करें:

mysql> alter table DemoTable add index(StudentFirstName); Query OK, 2 rows affected (0.57 sec) Records: 2 Duplicates: 0 Warnings: 0

व्याख्या: CREATE TABLE ... AS SELECT टेबल को बिना इंडेक्स के पुनर्निर्मित करता है (तेज़)। फिर ALTER TABLE ... ADD INDEX इंडेक्स को कुशलतापूर्वक बनाता है (सॉर्ट करके), "repair with keycache" (धीमी, अनसॉर्टेड इंडेक्स निर्माण) से बचाता है। नोट: मूल उदाहरण में उसी टेबल नाम का उपयोग किया गया है; उत्पादन में एक नया नाम उपयोग करें, फिर RENAME TABLE से स्वैप करें।

  1. - MySQL में शर्तों के आधार पर पंक्तियों को कैसे बदलें?

    MySQL में विशिष्ट शर्तों के आधार पर पंक्तियों के मान अपडेट करने के लिए CASE स्टेटमेंट का उपयोग किया जाता है। यह एक ही UPDATE क्वेरी में कई शर्तों को संभालने का कुशल तरीका है। सिंटैक्स UPDATE table_name SET column_name = CASE WHEN condition1 THEN value1 WHEN condition2 THEN value2 ...

  1. - MySQL में BEFORE INSERT ट्रिगर से दिनांक स्वचालित सेट करें

    MySQL में BEFORE INSERT ट्रिगर का उपयोग करके पंक्ति डालने से पहले दिनांक/समय कॉलम को स्वचालित रूप से वर्तमान दिनांक पर सेट कर सकते हैं। सिंटैक्स CREATE TRIGGER ट्रिगर_नाम BEFORE INSERT ON टेबल_नाम FOR EACH ROW SET NEW.कॉलम_नाम = फ़ंक्शन(); उदाहरण: DueDate को CURDATE() पर सेट करें 1. टेबल बनाएं C

  1. - MySQL में इंडेक्स के साथ तालिका कैसे बनाएं?

    MySQL में तालिका निर्माण के बाद CREATE INDEX स्टेटमेंट का उपयोग करके इंडेक्स बनाए जा सकते हैं, या तालिका निर्माण के समय परिभाषित किए जा सकते हैं। विधि 1: तालिका निर्माण के बाद CREATE TABLE table_name ( col1 datatype, col2 datatype ); CREATE INDEX index_name1 ON table_name (col1); CREATE IN