Gytyonline
مديريت كل انجمنها
پست: 899
عضو شده در: 14 شهریور 1384
محل سکونت: tehran
امتياز: 8184
|
عنوان: بدست آوردن زمان اجرای یک query در mysql توسط php |
|
|
سلام
امروز میخواهم یک نکته کوچیک اما کاربردی و جالب را برایتان بیان کنم.
حتما شما هم وقتی در گوگل سرچی را انجام میدهید به این نکته توجه کردید که گوگل تعداد نتایج جست و جوی خود و زمان آن را برای شما درج خواهد کرد، مثلا عکس زیر را مشاهده نمایید:
همان طور که در عکس بالا مشاهده میکنید من عبارت aftabgardan رو در گوگل سرچ کردم و گوگل برای آن در حدود 295000 نتیجه در 0.12 ثانیه پیدا کرده است، خوب حالا اگر شما وب سایتی داشته باشید و سرچ آن را خودتان نوشته باشید، این کار یعنی نشان داده تعداد نتایج و زمان جست و جوی آنها میتواند برای کاربران سایتتان جالب باشد، نشان دادن تعداد نتایج به راحتی قابل انجام است به این صورت که میتوانید از تابع count() در کوئریتان استفاده کنید و از این طریق تعداد نتایج را بدست آورید و یا اینکه از تابع mysql_num_rows() استفاده نمایید، اما نشان دادن زمان اجرای کوئری شاید سخت باشد و روش آن را ندانید، اگر در phpmyadmin کوئری خودتان را اجرا نمایید به شما زمان اجرای آن و تعداد نتایج را در درون خودش نشان خواهد داد اما ما چه طور میتوانیم این زمان را در php بدست بیاوریم و نمایش دهیم؟؟
برای این کار کافی است که کد زیر را استفاده کنید:
کد: |
$query = "select * from tablename";
$first_msc=microtime(true);
$result = mysql_query($query);
$second_msc=microtime(true);
$query_exe_time = $second_msc-$first_msc; |
حالا تنها کافی است که مقدار قرار گرفته شده در متغییر $query_exe_time را چاپ کنید، که اگر مقدار آن را چاپ نمایید عددی مثل عدد زیر برای شما به نمایش در خواهد آمد: 0.0005650520324707 و شاید عددی نمایش داده شود با تعداد اعشار بیشتر که این عدد زمان اجرای کوئری شما به ثانیه خواهد بود، اما خوب شاید نمایش دادن این عدد زیاد جالب نباشد اگر بتوانیم آن را به صورت عددی نشان دهیم که دارای 4 رقم اعشار باشد بهتر است که برای این کار میتوانید از تابع sprintf استفاده کنید، به این شکل :
کد: |
$query_exe_time = sprintf("%6.4f",$query_exe_time); |
ما در اینجا تعیین میکنیم که عدد ما از نوع float است که دارای 6 رقم است و قسمت اعشار آن 4 رقمی باشد، که به دین شکل عدد خروجی شما به شکل زیر خواهد بود : 0.0005 .
به همین راحتی شما توانستید نمونهای از مثال نشان داده شده در عکس را پیاده سازی نمایید
در آموزشهای بعدی طریقه ساخت موتور جست و جوی داخلی سایت را هم آموزش خواهیم داد.
موفق باشید.
امین شفیعی; |
|