क्या कोई सरल क्वेरी है जो> 2 सेकंड लेगी ताकि मैं धीमी क्वेरी लकड़हारे का परीक्षण कर सकूं?
मैं एक सामान्य पुनरावर्ती या पुनरावृत्ति कथन की तरह देख रहा हूँ।
क्या कोई सरल क्वेरी है जो> 2 सेकंड लेगी ताकि मैं धीमी क्वेरी लकड़हारे का परीक्षण कर सकूं?
मैं एक सामान्य पुनरावर्ती या पुनरावृत्ति कथन की तरह देख रहा हूँ।
जवाबों:
एक सरल प्रश्न होगा:
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)
वैकल्पिक रूप से यदि आप केवल अपने slow_query_log का परीक्षण करना चाहते हैं, तो ' long_query_time ' को 0 में बदलें (सभी प्रश्नों को लॉग इन करने के लिए):
SET long_query_time=0;
SELECT sleep(2)
धीमी गति से लॉग में कुछ भी जोड़ नहीं था - लेकिन SET GLOBAL long_query_time=0
मुझे परीक्षण के लिए त्वरित इनपुट दे दी है। धन्यवाद।
यहाँ एक बहुत ही भयानक क्वेरी है। यह एक कार्टेशियन उत्पाद है, जिसमें गैर-एएनएसआई शैली शामिल है।
use master
select * from sys.objects, sys.indexes
WAITFOR DELAY '00:00:02'