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

MySQL स्टोर्ड प्रोसीजर/ट्रिगर में SLEEP() से निष्पादन विलंब (डिले) सेट करें

SLEEP(सेकंड) फ़ंक्शन से कृत्रिम विलंब डालना

MySQL में SLEEP(seconds) फ़ंक्शन निर्दिष्ट सेकंड तक रुकता है (भिन्नात्मक सेकंड समर्थित)। इसका उपयोग स्टोर्ड प्रोसीजर/ट्रिगर में टेस्टिंग या दर-सीमित करने के लिए किया जा सकता है।

स्टोर्ड प्रोसीजर में उदाहरण

DELIMITER //
CREATE PROCEDURE delayInMessage()
BEGIN
    SELECT SLEEP(20);
    SELECT 'AFTER SLEEPING 20 SECONDS, BYE!!!';
END //
DELIMITER ;

कॉल और आउटपुट

CALL delayInMessage();
+-----------+
| SLEEP(20) |
+-----------+
| 0         |  -- 20 सेकंड बाद लौटता है
+-----------+
+------------------------------------+
| AFTER SLEEPING 20 SECONDS, BYE!!!  |
+------------------------------------+
| AFTER SLEEPING 20 SECONDS, BYE!!!  |
+------------------------------------+

उपयोग केस

  • डेडलॉक/लॉक वेट टेस्टिंग के लिए कृत्रिम विलंब।
  • बाहरी API दर सीमा अनुकरण।
  • बेंचमार्किंग: क्वेरी निष्पादन समय में निश्चित विलंब जोड़ना।

चेतावनियां

  • उत्पादन में उपयोग न करें — यह कनेक्शन थ्रेड को ब्लॉक करता है, कनेक्शन पूल खत्म कर सकता है।
  • ट्रिगर में SLEEP उपयोग करना **बहुत खराब अभ्यास** है — यह लिखने की विलंबता बढ़ाता है और डेडलॉक जोखिम बढ़ाता है।
  • अधिकतम नींद समय: प्लेटफॉर्म पर निर्भर (आमतौर पर बड़ी संख्या अनुमत)।
  • SLEEP(0) तुरंत लौटता है (उपज/यील्ड के लिए उपयोगी)।

बेहतर विकल्प: एप्लिकेशन लेयर पर विलंब

एप्लिकेशन कोड (Java Thread.sleep, Python time.sleep, Node setTimeout) में विलंब डालें, डेटाबेस लेयर पर नहीं।

  1. Android में देरी (Delay) कैसे सेट करें? Android में देरी (Delay) कैसे सेट करें?

    कुछ मामलों में, कुछ समय बाद UI को अपडेट करने की आवश्यकता होती है। यह उदाहरण दर्शाता है कि Android में देरी कैसे सेट करें। Handler का उपयोग करके देरी सेट करने का उदाहरण चरण 1 - नया प्रोजेक्ट बनाएं Android Studio में एक नया प्रोजेक्ट बनाएं: File → New Project पर जाएं और आवश्यक विवरण भरें। चरण 2 - ल

  1. - MySQL स्टोर्ड प्रोसीजर में IF...ELSE का उपयोग करके शर्तें सेट करना

    MySQL स्टोर्ड प्रोसीजर में IF...ELSE सशर्त तर्क MySQL स्टोर्ड प्रोसीजर IF...ELSE स्टेटमेंट का उपयोग करके सशर्त तर्क का समर्थन करते हैं, जिससे पैरामीटर मानों के आधार पर डायनामिक निष्पादन पथ सक्षम होते हैं। सिंटैक्स IF yourCondition THEN yourStatement1; ELSE yourStatement2; END IF; पूर्ण उदा

  1. - MySQL में COALESCE() से खाली पंक्ति के लिए डिफ़ॉल्ट मान सेट करें

    COALESCE() फ़ंक्शन का उपयोग करके NULL मानों को क्वेरी परिणाम में डिफ़ॉल्ट मान से बदल सकते हैं। यह टेबल डेटा नहीं बदलता, केवल आउटपुट प्रभावित करता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1863 (FirstName VARCHAR(20)); डेटा डालें mysql> INSERT INTO DemoTable1863 VALUES(Chris); mysql> INS