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

MySQL को पुनरारंभ किए बिना स्लो क्वेरी लॉग कैसे सक्षम करें

हम SET स्टेटमेंट की मदद से MySQL स्लो क्वेरी लॉग को सक्षम कर सकते हैं।

निम्नलिखित सिंटैक्स है।

SET GLOBAL slow_query_log = 'Value';

उपरोक्त सिंटैक्स में, मान को ON/OFF से भरा जा सकता है। स्लो क्वेरी लॉग को सक्षम करने के लिए, आइए क्वेरी देखते हैं।

mysql> SET GLOBAL slow_query_log = 'ON'; 
Query OK, 0 rows affected (0.00 sec)

जांचने के लिए कि स्लो क्वेरी ON है, निम्नलिखित क्वेरी लागू करें -

mysql> SHOW GLOBAL VARIABLES LIKE 'slow\_%';

यहां आउटपुट है।

+---------------------+--------------------------+ 
| Variable_name | Value | 
+---------------------+--------------------------+ 
| slow_launch_time | 2 | 
| slow_query_log | ON | 
| slow_query_log_file | DESKTOP-QN2RB3H-slow.log | 
+---------------------+--------------------------+ 
3 rows in set (0.00 sec)

हमने स्लो क्वेरी समय को सेकंड में सेट किया है क्योंकि यदि कोई क्वेरी दिए गए सेकंड से अधिक है, तो यह स्लो क्वेरी लॉग फाइल में प्रवेश करेगी।

हम सेकंड भी सेट कर सकते हैं। सेकंड सेट करने के लिए यहां क्वेरी है।

mysql> SET GLOBAL long_query_time = 20; 
Query OK, 0 rows affected (0.00 sec)

जांचने के लिए कि समय डाला गया है या नहीं।

mysql> SHOW GLOBAL VARIABLES LIKE 'long_query_time';

उपरोक्त क्वेरी का निम्नलिखित आउटपुट है।

+-----------------+-----------+ 
| Variable_name | Value | 
+-----------------+-----------+ 
| long_query_time | 20.000000 | 
+-----------------+-----------+ 
1 row in set (0.00 sec)

उपरोक्त कार्य करने के बाद, हमें लॉग फ्लश करने की आवश्यकता है।

mysql> FLUSH LOGS; 
Query OK, 0 rows affected (0.25 sec)

नोट - हम इसे my.cnf फाइल की मदद से स्थायी रूप से अक्षम कर सकते हैं। अक्षम करने के लिए slow_query_log = 0 सेट करें।

महत्वपूर्ण: SET GLOBAL परिवर्तन रनटाइम के लिए होते हैं और MySQL पुनरारंभ के बाद रीसेट हो जाते हैं। स्थायी कॉन्फ़िगरेशन के लिए my.cnf/my.ini में slow_query_log=1 और long_query_time=2 सेट करें और MySQL पुनरारंभ करें। log_queries_not_using_indexes=1 इंडेक्स का उपयोग न करने वाली क्वेरीज़ को भी लॉग करता है।
  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 में InnoDB कैसे स्थापित या सक्षम करें? MySQL में InnoDB कैसे स्थापित या सक्षम करें?

    MySQL में InnoDB स्टोरेज इंजन सक्षम करना MySQL 8.0 में InnoDB डिफ़ॉल्ट स्टोरेज इंजन है। फिर भी, आप इसे कॉन्फ़िगरेशन फ़ाइल या टेबल निर्माण समय में सेट कर सकते हैं। कॉन्फ़िगरेशन फ़ाइल (my.ini/my.cnf) जाँचना MySQL कॉन्फ़िगरेशन फ़ाइल में default-storage-engine=InnoDB सेट करें। MySQL 8 में यह डिफ़ॉल्ट रू

  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