MySQL Performance Tuning: Measuring Query Runtime in Milliseconds


SQL Output

 SQL Query တွေ ရေးတဲ့အခါ အလုပ်လုပ်ပုံ မှန်ကန်ဖို့တင်မကဘဲ Performance ကောင်းဖို့ပါ အရေးကြီးပါတယ်။ အထူးသဖြင့် Stored Procedures, Views သို့မဟုတ် Functions တွေ ရေးတော့မယ်ဆိုရင် ကိုယ်ရေးလိုက်တဲ့ Query ရဲ့ Speed ကို သေသေချာချာ သိထားဖို့ လိုပါတယ်။

ဒီနေ့ ဆောင်းပါးမှာတော့ Database engine ထဲမှာတင် Query တစ်ခုချင်းစီရဲ့ ကြာချိန် (Execution Time) ကို မီလီစက္ကန့် (ms) အထိ တိတိကျကျ တိုင်းတာတွက်ချက်နည်းကို မျှဝေပေးသွားမှာ ဖြစ်ပါတယ်။

🛠️ The Performance Benchmark Script

Query တစ်ခုရဲ့ စတင်ချိန်နဲ့ ပြီးဆုံးချိန်ကို မှတ်သားပြီး ကြာချိန်တွက်ချက်ဖို့ အောက်ပါ SQL block ကို အသုံးပြုနိုင်ပါတယ်။


တစ်ဆင့်ချင်းစီ၏ အလုပ်လုပ်ပုံ ရှင်းလင်းချက် (Line-by-Line Breakdown)

၁။ SET @start = NOW(6);

MySQL ရဲ့ standard NOW() function က စက္ကန့် (Second) အထိပဲ ပြပေးနိုင်ပါတယ်။ Query အလုပ်လုပ်တာက စက္ကန့်ပိုင်းထက် ပိုမြန်တာမို့လို့ ဒဿမ ၆ နေရာ (Microsecond) အထိ အတိအကျသိရအောင် NOW(6) ကို သုံးထားတာ ဖြစ်ပါတယ်။ ရလာတဲ့အချိန်ကို @start ဆိုတဲ့ user-defined variable ထဲမှာ သိမ်းလိုက်ပါတယ်။

၂။ SET @end = NOW(6);

ကျွန်တော်တို့ စမ်းသပ်ချင်တဲ့ Query အလုပ်လုပ်ပြီးသွားတဲ့ အချိန်မှာတော့ လက်ရှိအချိန်ကို @end variable ထဲကို ထပ်မံဖမ်းယူလိုက်ပါတယ်။

၃။ ကြာချိန်တွက်ချက်ခြင်းပုံသေနည်း

TIMESTAMPDIFF(MICROSECOND, @start, @end) က အချိန်နှစ်ခုကြားက ကွာခြားချက်ကို Microsecond ယူနစ်နဲ့ တွက်ပေးပါတယ်။ Microsecond က ကိန်းဂဏန်း အရမ်းကြီးလို့ ဖတ်ရလွယ်အောင် 1000 နဲ့ ပြန်စားပြီး Millisecond (ms) အဖြစ် final output ကို ထုတ်ပေးတာ ဖြစ်ပါတယ်။

0 Comments