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

चल रही MySQL क्वेरी को कैसे रोकें?


KILL कमांड या mysql.rds_kill() से चल रही क्वेरी समाप्त करें

लंबे समय से चल रही या अटकी हुई क्वेरी को रोकने के लिए, पहले इसकी प्रोसेस आईडी ढूंढें फिर KILL करें।

चरण 1: प्रोसेस आईडी ढूंढें

mysql> SHOW PROCESSLIST;
+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+
| Id | User            | Host            | db       | Command | Time   | State                  | Info             |
+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+
| 4  | event_scheduler | localhost       | NULL     | Daemon  | 221718 | Waiting on empty queue | NULL             |
| 47 | root            | localhost:60722 | business | Query   | 0      | starting               | show processlist |
+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+

चरण 2: क्वेरी मारें

mysql> KILL 47;
ERROR 1317 (70100): Query execution was interrupted

वैकल्पिक: Amazon RDS के लिए mysql.rds_kill()

mysql> CALL mysql.rds_kill(47);
ERROR 2013 (HY000): Lost connection to MySQL server during query

महत्वपूर्ण बिंदु

  • KILL कनेक्शन_आईडी: धागा समाप्त करता है (क्वेरी रद्द, कनेक्शन बंद)
  • KILL QUERY कनेक्शन_आईडी: केवल वर्तमान क्वेरी रद्द करता है, कनेक्शन खुला रखता है
  • केवल SUPER विशेषाधिकार वाले उपयोगकर्ता अन्य उपयोगकर्ताओं के प्रोसेस मार सकते हैं
  • उपयोगकर्ता अपने स्वयं के प्रोसेस बिना विशेषाधिकार के मार सकते हैं

उपयोगी विविधताएं


            
  1. - MySQL में SOUNDEX() फ़ंक्शन का उपयोग कैसे करें?

    MySQL में SOUNDEX() फ़ंक्शन समान उच्चारण वाले शब्दों को खोजने के लिए साउंडेक्स कोड लौटाता है। सिंटैक्स SELECT * FROM yourTableName WHERE SOUNDEX(yourValue) = SOUNDEX(yourColumnName); टेबल निर्माण mysql> CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName VARC

  1. - MySQL में IFNULL() से NULL मान को 0 में बदलना

    MySQL में NULL मानों को डिफ़ॉल्ट मान (जैसे 0) से बदलने के लिए IFNULL() फ़ंक्शन का उपयोग किया जाता है। यह गणनाओं और रिपोर्टिंग में NULL-संबंधी समस्याओं से बचाता है। उदाहरण के लिए टेबल बनाना mysql> CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Value INT ); डेटा डालन

  1. - MySQL में IN() का उपयोग करके कई OR स्टेटमेंट से बचें

    एक ही कॉलम के विरुद्ध कई समानता जांच को सरल बनाने के लिए IN() ऑपरेटर का उपयोग करें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(40) ); Query OK, 0 rows affected (0.89 sec) INSERT INTO DemoTable(Name) VALUES(Chris),(Robert),(M