كنترل پنل             جستجو               پرسشهای متداول            .:: آخرین پست‌های انجمن ::.            لیست اعضا            مدیران سایت             درجات        ورود
فهرست انجمن‌ها -> برنامه‌نويسي تحت وب -> زبان برنامه‌نويسي PHP
پاسخ دادن به این موضوع
بدست آوردن زمان اجرای یک query در mysql توسط php
پست تاریخ: شنبه 8 مرداد 1390 - 23:13    
Gytyonline
مديريت كل انجمن‌ها
مديريت كل انجمن‌ها


پست: 899
عضو شده در: 14 شهریور 1384
محل سکونت: tehran
iran.gif


امتياز: 8184

عنوان: بدست آوردن زمان اجرای یک query در mysql توسط php خواندن مشخصات فردی ارسال پیام شخصی ارسال email

سلام
امروز می‌خواهم یک نکته کوچیک اما کاربردی و جالب را برایتان بیان کنم.
حتما شما هم وقتی در گوگل سرچی را انجام می‌دهید به این نکته توجه کردید که گوگل تعداد نتایج جست و جوی خود و زمان آن را برای شما درج خواهد کرد، مثلا عکس زیر را مشاهده نمایید:

همان طور که در عکس بالا مشاهده می‌کنید من عبارت 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 .
به همین راحتی شما توانستید نمونه‌ای از مثال نشان داده شده در عکس را پیاده سازی نماییدWink

در آموزش‌های بعدی طریقه ساخت موتور جست و جوی داخلی سایت را هم آموزش خواهیم داد.
موفق باشید.
امین شفیعی;

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست: Hamid (شنبه 8 مرداد 1390 - 23:29) kahroba (یکشنبه 9 مرداد 1390 - 09:33)


نمایش پستها:                 مشاهده موضوع قبلی :: مشاهده موضوع بعدی  
پاسخ دادن به این موضوع
 

صفحه 1 از 1

تمام زمانها بر حسب GMT + 3.5 Hours می‌باشند
 Related Topics 


 information 

 

پرش به:  
شما نمی توانید در این بخش موضوع جدید پست کنید
شما نمی توانید در این بخش به موضوعها پاسخ دهید
شما نمی توانید موضوع های خودتان را در این بخش ویرایش کنید
شما نمی توانید موضوع های خودتان را در این بخش حذف کنید
شما نمی توانید در این بخش رای دهید


Copyright 2004-2024. All rights reserved.
© by Aftabgardan Cultural Center : Aftab.cc