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

MySQL SLEEP() ফাংশন কি বিজি-ওয়েট? কীভাবে ইমপ্লিমেন্ট করবেন?

না, MySQL SLEEP() ফাংশন বিজি-ওয়েট নয়। এটি কেয়ার্নেল-লেভেল স্লিপ ব্যবহার করে, সি-পিইউ সাইকেল বর্জন করে না।

উদাহরণ:

টেবিল তৈরি:

CREATE TABLE DemoTable(FirstName VARCHAR(100));

রেকর্ড যোগ করা:

INSERT INTO DemoTable VALUES('John'), ('Adam'), ('Bob'), ('Chris'), ('Robert');

SLEEP(10) ব্যবহার করে সিলেক্ট:

SELECT SLEEP(10), FirstName FROM DemoTable;

আউটপুট:

+-----------+-----------+
| sleep(10) | FirstName |
+-----------+-----------+
| 0         | John      |
| 0         | Adam      |
| 0         | Bob       |
| 0         | Chris     |
| 0         | Robert    |
+-----------+-----------+
5 rows in set (50.00 sec)

ব্যাখ্যা: ৫টি রো আছে, প্রতিটির জন্য SLEEP(10) কল হয়েছে। মোট সময় ৫০ সেকেন্ড (৫ × ১০)। SLEEP() ফাংশন সবসময় ০ রিটার্ন করে। এটি থ্রেডকে স্লিপ状態ে রাখে, সি-পিইউ ব্যবহার করে না।

  1. MySQL ফাংশন থেকে টেবিল রিটার্ন করা সম্ভব নয়, স্টোরড প্রসিডিউর ব্যবহার করুন

  2. MySQL-এ HAVING LENGTH() ব্যবহার করে স্ট্রিং দৈর্ঘ্য অনুযায়ী ফিল্টার করা

  3. MySQL-এ ক্যান্ডিডেট কি (Candidate Key) বাস্তবায়ন করা

  4. MySQL স্টোরড প্রসিডিউরে IF-ELSE শর্ত সঠিকভাবে বাস্তবায়ন