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

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

<घंटा/>

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

निम्नलिखित वाक्य रचना है।

सेट ग्लोबल स्लो_क्वेरी_लॉग ='वैल्यू';

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

mysql> SET GLOBAL slow_query_log ='ON';क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)

यह जांचने के लिए कि धीमी क्वेरी चालू है या नहीं, निम्न क्वेरी लागू करें -

mysql> 'slow\_%' जैसे ग्लोबल वैरिएबल दिखाएं;

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

<पूर्व>+---------------------+-------------------------- --+| चर_नाम | मूल्य |+---------------------+-------------------------- -+| slow_launch_time | 2 || slow_query_log | चालू | | slow_query_log_file | डेस्कटॉप-QN2RB3H-slow.log |+---------------------+--------------------- --------+3 पंक्तियाँ सेट में (0.00 सेकंड)

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

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

mysql> SET GLOBAL long_query_time =20;क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)

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

mysql> 'long_query_time' जैसे ग्लोबल वैरिएबल दिखाएं;

यहाँ उपरोक्त क्वेरी का आउटपुट दिया गया है।

<पूर्व>+---------------------+---------------+| चर_नाम | मूल्य |+-----------------+---------------+| long_query_time | 20.00000 |+-----------------+-----------+1 पंक्ति में सेट (0.00 सेकंड)

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

mysql> फ्लश लॉग्स;क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.25 सेकंड)

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


  1. यदि कोई क्वेरी MySQL में शून्य मान देता है तो मैं 0 कैसे सेट कर सकता हूं?

    इसके लिए आप IFNULL() का इस्तेमाल कर सकते हैं। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.71 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल (मान) मानों में डालें (शून्य);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) चयन कथन का उपयोग करके तालिका से सभी

  1. मैं MySQL में innoDB कैसे स्थापित या सक्षम कर सकता हूँ?

    MySQ में innoDB को सक्षम करने के लिए, आपको my.ini के आसपास काम करने की आवश्यकता है फ़ाइल। हालाँकि, MySQL संस्करण 8 में, डिफ़ॉल्ट स्टोरेज इंजन innoDB है। इसे my.ini . से जांचें फ़ाइल - आप इसे टेबल बनाने के समय भी सेट कर सकते हैं - टेबल बनाएं डेमोटेबल (StudentId int NOT NULL AUTO_INCREMENT PRIMARY

  1. मैं MySQL क्वेरी में बहुत अधिक OR कथनों से कैसे बच सकता हूँ?

    बहुत अधिक OR कथनों से बचने के लिए MySQL IN() का उपयोग करें। आइए पहले एक टेबल बनाएं - mysql> create table DemoTable (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Name varchar(40) ); Query OK, 0 rows affected (0.89 sec) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डाले