本篇文章给大家分享的是有关使用PHP怎么获取MySQL数据库中执行sql语的句,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<>强如下所示:强>
//计时开始 运行时(); ,//执行查询 mysql_query ($ sql); ,//计时结束。 echo 运行时(1); ,//计时函数, function 运行时(美元模式=0),{ ,static $ t; ,如果(! $模式),{, 时间=美元才能t microtime (); 返回才能; }大敌; ,t1 美元;=,microtime (),, ,列表(m0, s0美元),=,爆炸(“,“$ t),, ,列表(m1, s1美元),=,爆炸(“,“美元t1),, ,return sprintf (“% .3f ms" (s1 + m1 - s0美元-美元m0) * 1000); }
<>强对sql的执行时间进行分析可以:强>
1,确定sql的书写是否合理,高效
2,检查字段,表的设计是否合理
<强>方法1:强>在系统底层对sql操作类进行改写,通常类的结构是
业务模型- - -》数据库类- - -》执行sql
可以根据情况在某阶段进行改写,比如db类;通常会修改
public function 执行($ sql), {//代码…/*检测sql执行时间,超过执行时间记录到日志中*/start_time 美元;=,函数(爆炸(& # 39;,& # 39;,,()));=$ this→lastresult mysql_query (sql,这美元→链接),一、$ this→displayerror ($ sql); end_time 美元;=,函数(爆炸(& # 39;,& # 39;,,())); $ differ =, end_time 美元;作用;start_time美元; 如果(differ 美元;在0.001){,,,//修改时间范围,单位:秒 ,putContent (& # 39; sqlLOG& # 39;,,日期(& # 39;Y-m-d H:我:& # 39;,,start_time美元)!”,“ 只才能日期(& # 39;Y-m-d H:我:& # 39;,,end_time美元)!”,“ ,美元又是不同,才能“,“。美元干净自己的sql \ r \ n"); }//代码… }
<>强引用:强>
phpmyadmin中的代码,获得查询执行时间如下:
,//,加文:Measure query 时间。//,TODO-Item http://sourceforge.net/tracker/index.php?func=detail&援助=571934,group_id=23067, atid=377411 querytime_before 美元;=,函数(爆炸(& # 39;,& # 39;,,())); $ result =, @PMA_DBI_try_query (full_sql_query美元,null,, PMA_DBI_QUERY_STORE); querytime_after 美元;=,函数(爆炸(& # 39;,& # 39;,,())); $全局[& # 39;querytime& # 39;],=, querytime_after 美元;作用;querytime_before美元;
除了这种方式还可以使用mysql的概要。
这个更适合统计多条sql的执行情况。
我见过好像是一个博客,访问页面之后会有一个提示大概说共查询了几次数据库,用了多长时间查询数据,那么开启mysql的概要文件就可以轻松实现了。
<强>批注1:micortime函数强>
计算微秒的函数micortime(),可以返回当前UNIX时间戳和微秒数。返回浮点数单位为秒。不过函数仅在支持gettimeofday()系统调用的操作系统下可用。可以查下手册详细了解下。可能引发有些不明的错误,注意。
<强>批注2:配置文件最多保存100条记录,这个要怎么解决呢? 强>
profiling_history_size 从而number of  statements for  which 用maintain profiling 方式、if profiling is 只启用,default value is 15只,maximum value is 100只;Setting 从而value 用0,effectively disables 剖析。
这个最大就100条了,改不了。
<强>引用2:PHP获取毫秒级时间戳的方法强>
java里面可以通过取得时间();获取。如果是要与java写的某些程序进行高精度的毫秒级的对接通信,则需要使用PHP输出毫秒级的时间,为获取更为精准的毫秒级时间戳可以使用下面的代码:
& lt; PHP ? function getMillisecond (), { 列表(美元$ t1, t2),=,爆炸(& # 39;,& # 39;,,()); return (浮动)sprintf (& # 39; % .0f& # 39;, (floatval (t1) + floatval (t2)美元)* 1000); } echo getMillisecond ();
<强>运行结果:1.46647658229 e + 12 强>
以上就是使用PHP怎么获取MySQL数据库中执行sql语的句,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。