测试使用的是我的爱机,配置如下:;
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;;
?>;