我使用Perl和DBI来管理我的MySQL表,查询等.如何显示查询的运行时间?
如果我在控制台中执行SELECT,结果将如下所示:
+-----+-------------+
| id | name |
+-----+--------------
| 1 | Jack |
| 2 | Joe |
| 3 | Mary |
+-----+-------------+
3 rows in set (0.17 sec)
Run Code Online (Sandbox Code Playgroud)
我需要表明0.17 sec.在DBI中有什么方法可以显示Perl的运行时间,这样的话吗?
my $dbh = $db->prepare("SELECT id, name FROM names ORDER BY id;");
$dbh->execute;
print $dbh->runnin_time; # ???
Run Code Online (Sandbox Code Playgroud)
DBI#Profile,DBI :: Profile,DBI :: ProfileData,DBI :: ProfileDumper,dbiprof
使用 Time::HiRes 也可以是查找查询时间的简单方法。以下是使用 Time::HiRes 的示例:
use Time::HiRes;
$start_time = Time::HiRes::gettimeofday();
my $dbh = $db->prepare("SELECT id, name FROM names ORDER BY id;");
$dbh->execute;
$end_time = Time::HiRes::gettimeofday();
my $elapsedtime = sprintf("%.6f", $end_time - $start_time);
print "Execution time(seconds) : $elapsedtime \n";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3222 次 |
| 最近记录: |