共计 2239 个字符,预计需要花费 6 分钟才能阅读完成。
自动写代码机器人,免费开通
本篇内容主要讲解“用 PHP 连 mysql 和 oracle 数据库性能比较”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“用 PHP 连 mysql 和 oracle 数据库性能比较”吧!
测试硬件说明:
测试使用的是我的爱机,配置如下:
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 的程序:
$dblink=mysql_connect(localhost , root , shh223
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 BRend time: .$end_time. BR
$total=$end_time-$begin_time;
echo total spent time: .$total;
?
用来测试 oracle 的程序:
$handle=OCILogon(php_oracle , php_oracle
$counter=1;
set_time_limit(300);
$query= insert into board (board_id,board_name,board_manager) values (:board_id, test , test)
$state=OCIParse($handle, $query);
OCIBindByName($state, :board_id , $i,32);
$begin_time=time();
for ($i=1;$i =10000;$i++){
ociexecute($state);
}
$end_time=time();
OCIFreeStatement($state);
ocilogoff($handle);
echo test db speed…br
echo begin time: .$begin_time. BR
echo BRend time: .$end_time. BR
$total=$end_time-$begin_time;
echo total spent time: .$total;
?
测试结果:
环境:win32+apache+php4+mysql
结果:28 秒
环境:win32+apache+php3+mysql
结果:34 秒
环境:win32+apache+php3+oracle8.0.5(oci 函数)
结果:46 秒
环境:linux+apache+php4+mysql
结果:10 秒
结论:
在 WIN32 下,mysql 的性能虽然不是很好,但和 oracle8 比起来,还是要快很多,尤其是我在
测试程序中,并没有将数据库连接的语句包括进来,所以这个测试结果只是插入数据所花费
的时间,而 oracle 的连接,天,太慢了!在我的机器上,连接一次,至少 1-2 秒钟。
而在 LINUX 下,mysql 的性能相对于在 WIN32 下,又有了一个很大的飞跃。由 28 秒骤减到 10 秒。
所以,如果你不需要存储过程的支持
到此,相信大家对“用 PHP 连 mysql 和 oracle 数据库性能比较”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
向 AI 问一下细节