目的及应关注指标
测试目的
本次测试对比php原生数据库连接、pdo连接方式及Zend Db在相同环境下执行select和insert性能对比测试,为数据库连接组件选型提供参考
需要关注指标
各种方式执行相对于php原生mysql数据库连接API执行时间比
测试环境及样本集
测试环境
测试服务器 |
**.**.***.*** |
数据库服务器 |
**.**.***.*** |
数据库类型 |
Mysql 5.0.32 |
php版本 |
PHP 5.2.0-8 |
运行环境 |
shell |
Zend Db采用pdo方式连接
测试样本
【php原生API vs. PDO vs. Zend Db效率对比】对一下样本集执行10次,列出每次执行时间并标注最小时间和最大时间
SELECT
sql语句 |
SELECT * FROM wp_posts WHERE id < 3000 |
数据条数 |
2947 |
执行次数 |
250 |
数据表说明 |
id为主键 |
INSERT
sql语句 |
INSERT INTO inserttest(a, b, c) VALUES (:a,:b,:c) |
执行次数 |
250 |
数据表说明 |
a,b,c为非索引字段 |
测试结果集 SELECT
编号 |
mysql原生 |
pdo |
Zend Db |
1 |
23.1815671921 |
18.7389979362 |
20.9781548977 |
2 |
23.1190738678 |
17.9533500671 |
20.7274110317 |
3 |
23.1062159538 |
18.3370838165 |
20.9653358459 |
4 |
23.044408083 |
18.1957731247 |
21.0374000072 |
5 |
23.0952689648 |
18.2569551468 |
20.7118120193 |
6 |
23.0911550522 |
18.5029008389 |
20.9910171032 |
7 |
23.1010351181 |
18.0015010834 |
20.9725971222 |
8 |
23.0102169514 |
18.3865849972 |
20.6824378967 |
9 |
23.0707960129 |
17.9931869507 |
21.0708808899 |
10 |
23.1030399799 |
18.4367389679 |
20.9718859196 |
avg |
23.0922777176 |
18.28030729294 |
20.91089327334 |
INSERT
编号 |
mysql原生 |
pdo |
Zend Db |
1 |
0.207641839981 |
0.175272941589 |
0.0405569076538 |
2 |
0.190650939941 |
0.182615995407 |
0.0416030883789 |
3 |
0.165610074997 |
0.16451215744 |
0.0527379512787 |
4 |
0.187826871872 |
0.170794963837 |
0.0403609275818 |
5 |
0.153650045395 |
0.151349067688 |
0.0403728485107 |
6 |
0.15756893158 |
0.174755096436 |
0.0477318763733 |
7 |
0.174305915833 |
0.165433883667 |
0.0479979515076 |
8 |
0.18412399292 |
0.230180025101 |
0.0475389957428 |
9 |
0.176657915115 |
0.156085968018 |
0.0431699752808 |
10 |
0.160609006882 |
0.162405014038 |
0.0401198863983 |
avg |
0.1758645534516 |
0.1733405113221 |
0.04421904087067 |
推荐阅读