电脑技术学习

用PHP连mysql和oracle数据库性能比较

dn001
测试硬件说明:

测试使用的是我的爱机,配置如下:;

CPU:C433;

内存:128M;

硬盘:酷鱼2代20G;

测试软件说明:


WIN32下用的是windows;nt;server4,sp5,apache;1.3.12,php3.0.15和php4rc1,mysql;3.22.29,oracle;8.0.5;

linux下用的是bluepoint;linux1.0,;apache;1.3.12,;php4rc1,mysql;3.22.32;

测试代码说明:

使用一个很简单的表,mysql和oracle使用的表结构是一样的,都只有三个字段,结构如下:;

mysql的表结构:;

CREATE;TABLE;board;(;

board_id;smallint(6);NOT;NULL;auto_increment,;

board_name;char(16);NOT;NULL,;

board_manager;char(20),;

PRIMARY;KEY;(board_id);

);;

oracle的结构:;

CREATE;TABLE;PHP_ORACLE."BOARD";

("BOARD_ID";FLOAT,;

"BOARD_NAME";CHAR(16);NOT;NULL,;

"BOARD_MANAGER";CHAR(20));;;

我们只测试了INSERT操作花的时间,对于select,并未作测试。



因为win32下只有PHP3才能连接oracle数据库,所以只测试了用PHP3连接oracle的性能。相信在PHP4的正式版本出来后,用PHP4连接oracle的速度应该有所提升。;

而在LINUX下,因为我没有装oracle,所以只测试了mysql的性能。据说在LINUX下,oracle的性能不错,只是无法测试。;

并且我们将所有的用于数据库连接和oracle用来分析sql语句的代码都放在了统计代码之外,所以测试得出的时间只是用于执行SQL操作所花费的时间。;

用来测试mysql的程序:;

<?php;

$dblink=mysql_connect("localhost","root","shh123");;

mysql_select_db("bbs");;

$counter=1;;

set_time_limit(300);;

$query="insert;into;board;(board_name,board_manager);values;('test','test')";;

$begin_time=time();;

for;($i=1;$i<=10000;$i++){;

mysql_db_query("bbs",$query);;

$counter++;;

};

$end_time=time();;

mysql_close($dblink);;

echo;"test;db;speed...<br>";;

echo;"begin;time:".$begin_time."<BR>";;

echo;"<BR>end;time:".$end_time."<BR>";;

$total=$end_time-$begin_time;;

echo;"total;spent;time:".$total;;

?>;