কম্পিউটার টিউটোরিয়াল

MySQL স্লো কোয়েরি লগ রিস্টার্ট ছাড়া সক্রিয় করা

MySQL স্লো কোয়েরি লগ SET স্টেটমেন্ট ব্যবহার করে সক্রিয় করা যায়।

সিনট্যাক্স

SET GLOBAL slow_query_log = 'Value';

Value হতে পারে ON/OFF। স্লো কোয়েরি লগ অন করতে:

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

স্লো কোয়েরি অন হয়েছে কিনা চেক করুন:

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/my.ini-তে slow_query_log = 0 সেট করুন। রানটাইমে সেট করা সেটিং রিস্টার্টে হারিয়ে যায়। log_queries_not_using_indexes অন করলে ইন্ডেক্স না ব্যবহারকারী কোয়েরিও লগ হবে।

  1. MySQL-এ SOUNDEX() ফাংশন ব্যবহার করে ধ্বনিসাম্য খুঁজে বের করা

  2. MySQL-এ IFNULL() ফাংশন দিয়ে NULL মানকে ০ দিয়ে প্রতিস্থাপন করা

  3. MySQL-এ InnoDB স্টোরেজ ইঞ্জিন সক্ষম/ইনস্টল করা (my.ini বা ENGINE=InnoDB)

  4. MySQL কোয়েরিতে অতিরিক্ত OR স্টেটমেন্ট এড়ানো