ধীর ক্যোয়ারী লগিং পরীক্ষা করতে একটি ধীর ক্যোরি লিখুন?


14

এমন কোনও সাধারণ ক্যোয়ারী রয়েছে যা> 2 সেকেন্ড নেবে যাতে আমি ধীর ক্যোয়ারি লগারের পরীক্ষা করতে পারি?

আমি জেনেরিক পুনরাবৃত্ত বা পুনরাবৃত্ত বিবৃতি মত কিছু খুঁজছি।

উত্তর:


22

একটি সহজ জিজ্ঞাসা হবে:

SELECT SLEEP(2);

আপনি এটি পুনরাবৃত্তি করতে চান?

DELIMITER $$
DROP FUNCTION IF EXISTS `iterateSleep` $$
CREATE FUNCTION `iterateSleep` (iterations INT)
RETURNS INT DETERMINISTIC
BEGIN
    DECLARE remainder INT;

    SET remainder = iterations;

    read_loop: LOOP     
        IF remainder=0 THEN
            LEAVE read_loop;
        END IF;

        SELECT SLEEP(2) INTO @test;
        SET remainder = remainder - 1;          
    END LOOP;

    RETURN iterations;
END $$
DELIMITER ;

-- TO TEST IT OUT
mysql> SELECT iterateSleep(2);
+-----------------+
| iterateSleep(2) |
+-----------------+
|               2 |
+-----------------+
1 row in set (4.01 sec)

বিকল্পভাবে যদি আপনি কেবল আপনার ধীর_ ক্যুরি_লগটি পরীক্ষা করতে চান, তবে ' লং_কোয়ারি_টাইম ' 0 তে 0 (সমস্ত প্রশ্নের লগ ইন করতে) পরিবর্তন করুন:

SET long_query_time=0;

সাইডেনোট হিসাবে এসকিউএল সার্ভারের সমতুল্যWAITFOR DELAY '00:00:02'
— বেন ব্রোকা

সিলেক্ট স্লিপ (২) হ'ল আমি যে উত্তরটি খুঁজছিলাম; আমি দীর্ঘ_ প্রশ্ন_আপনি নিজে সেট করতে পারি না।
— ডেভিড লেবাউর

সংক্ষিপ্ত এবং মিষ্টি সবসময় ঝরঝরে। দুর্দান্ত স্টোরড পদ্ধতিও। +1 !!!
— RolandoMySQLDBA

SELECT sleep(2)ধীর লগে কিছু যোগ করা হয়নি - কিন্তু SET GLOBAL long_query_time=0আমাকে পরীক্ষা দ্রুত ইনপুট দিলেন। ধন্যবাদ।
— জেস্পার গ্রান লরসেন

0

এখানে একটি দুর্দান্ত ভয়ঙ্কর জিজ্ঞাসা। এটি একটি কার্তেসিয়ান পণ্য, অ-আনসির শৈলীর যোগদান ব্যবহার করে।

use master
select * from sys.objects, sys.indexes

ঝরঝরে ... তবে আমি মনে করি না এটি মাইএসকিএল।
— ডেরেক ডাউনি

উফ। দুঃখিত। আমি এটি মাইএসকিউএল এর জন্য লক্ষ্য করিনি।
— ডেটাগোড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.