使用PHP怎么获取MySQL数据库中执行sql语的句

  介绍

本篇文章给大家分享的是有关使用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语的句,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

使用PHP怎么获取MySQL数据库中执行sql语的句