首页 -> 登录 -> 注册 -> 回复主题 -> 发表主题
光行天下 -> 手机,电脑,网络技术与资讯 -> 用PHP连mysql和oracle数据库性能比较 [点此返回论坛查看本帖完整版本] [打印本页]

webn 2005-10-24 13:17

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

用PHP连mysql和oracle数据库性能比较 >H1|c%w  
rxgVT4  
测试硬件说明: /Xu;/MMpd3  
测试使用的是我的爱机,配置如下: Xk&F4BJQk<  
CPU:C433 &v auLp  
内存:128M itC *Z6^  
硬盘:酷鱼2代20G b?2X>QJ  
#1jtprc  
测试软件说明: d1uG[  
WIN32下用的是windows nt server4,sp5,apache 1.3.12,php3.0.15和php4rc1,mysql 3.22.29,oracle 8.0.5 Bsu=^z  
linux下用的是bluepoint linux1.0, apache 1.3.12, php4rc1,mysql 3.22.32 _> |R-vQ8  
,+NE:_  
测试代码说明: cdJ`Gk  
使用一个很简单的表,mysql和oracle使用的表结构是一样的,都只有三个字段,结构如下: 93^(O8.  
mysql的表结构: 5<)gCHa  
CREATE TABLE board ( V^Mf4!A(y  
board_id smallint(6) NOT NULL auto_increment, @!&Jgg53G  
board_name char(16) NOT NULL, 4gv.E 0Fo  
board_manager char(20), [aWDD[#j~  
PRIMARY KEY (board_id) p-i.ITRS  
); EBIa%,  
oracle的结构: hP4)8>  
CREATE TABLE PHP_ORACLE."BOARD" ||'i\X|[  
("BOARD_ID" FLOAT, ){:q;E]^fB  
"BOARD_NAME" CHAR(16) NOT NULL, BS-:dyBw  
"BOARD_MANAGER" CHAR(20)) ; %TW% |"v  
QWz Op\+  
我们只测试了INSERT操作花的时间,对于select,并未作测试。 <wUD  
因为win32下只有PHP3才能连接oracle数据库,所以只测试了用PHP3连接oracle的性能。相 2Z/][?Jj{  
信在PHP4的正式版本出来后,用PHP4连接oracle的速度应该有所提升。 co$Hi9JE  
而在LINUX下,因为我没有装oracle,所以只测试了mysql的性能。据说在LINUX下,oracle Msv*}^>  
的性能不错,只是无法测试。 5D]30  
并且我们将所有的用于数据库连接和oracle用来分析sql语句的代码都放在了统计代码之外  d-ag  
,所以测试得出的时间只是用于执行SQL操作所花费的时间。 }DDVGs[  
z<yNG/M1>U  
用来测试mysql的程序: [xZ/ZWb/  
daA47`+d  
<?php &O+sK4 P  
$dblink=mysql_connect("localhost","root","shh123"); pBg|n=^  
mysql_select_db("bbs"); wVvqw/j*f  
$counter=1; H9Y2n 0  
set_time_limit(300); RjR&D?dc  
$query="insert into board (board_name,board_manager) values ('test','test')"; ,YP1$gj  
$begin_time=time(); KMxNH,5  
for ($i=1;$i<=10000;$i++){ l)tTg+:  
mysql_db_query("bbs",$query); IgPV#  
$counter++; ,2 zt.aqB  
} laUu"cS  
$end_time=time(); [K/O5_  
mysql_close($dblink); tr6jh=  
echo "test db speed...<br>"; w+Z--@\  
echo "begin time:".$begin_time."<BR>"; RLYU\@kK?  
echo "<BR>end time:".$end_time."<BR>"; 8iMF8\  
$total=$end_time-$begin_time; XKz;o^1a^  
echo "total spent time:".$total; ~-XOvKJb  
?> Fb<n0[m  
1s{ISWm  
用来测试oracle的程序: [,OJX N-4s  
55 S\&Ad$  
<?php L.C ^E7;Z_  
$handle=OCILogon("php_oracle","php_oracle"); wF|0n t  
ioB|*D<U2  
$counter=1; g".d"d{  
set_time_limit(300); (Oxz'#TX  
$query="insert into board (board_id,board_name,board_manager) values (:board_id,'test','test')"; F^ I\X  
$state=OCIParse($handle, $query); 1*C:h g@  
OCIBindByName($state, ":board_id", &$i,32); JP{UgcaF  
$begin_time=time(); 9 9Ba{qj  
for ($i=1;$i<=10000;$i++){ t{/hkXq]  
ociexecute($state); 1^Kj8*O8e  
} :7 qqjs  
$end_time=time(); GY oZ$p"C  
OCIFreeStatement($state); eq^TA1>T  
ocilogoff($handle); >;&Gz-lm  
echo "test db speed...<br>"; ?j1_ n,d  
echo "begin time:".$begin_time."<BR>"; DRH'A!r!  
echo "<BR>end time:".$end_time."<BR>"; t9G}Yd[T  
$total=$end_time-$begin_time; 6BDt.bG  
echo "total spent time:".$total; u~" siH  
?>  uY.=4l  
7IA3q{P  
测试结果: q:vz?G  
:=rA Yc3]  
环境:win32+apache+php4+mysql 3LKB;  
结果:28秒 RXGHD19]  
.qSBh hH\  
环境:win32+apache+php3+mysql 'I&|1I^  
结果:34秒 zL9VR;q  
.4wTjbO6  
环境:win32+apache+php3+oracle8.0.5(oci函数) #2h+dk$1  
结果:46秒 o[o:A|n  
}0$mn)*k  
环境:linux+apache+php4+mysql PKi_Zh.D  
结果:10秒 .2e1S{9  
UQ5BH%EPb  
结论: %PzQ\c  
在WIN32下,mysql的性能虽然不是很好,但和oracle8比起来,还是要快很多,尤其是我在 k]Zo-xh4  
测试程序中,并没有将数据库连接的语句包括进来,所以这个测试结果只是插入数据所花费 pss6Oz8  
的时间,而oracle的连接,天,太慢了!在我的机器上,连接一次,至少1-2秒钟。 w|=gSC-o  
而在LINUX下,mysql的性能相对于在WIN32下,又有了一个很大的飞跃。由28秒骤减到10秒。 9u?(^(.  
所以,如果你不需要存储过程的支持,并且数据库量不是大的那么惊人的话,还是在LINUX 1xz\=HOT  
下使用mysql作为你的数据库吧!这个轻量级的数据库可以给你最佳的性能、可管理性和相 PfyRZ[3)c  
当不错的安全性。 vK(I3db !  
4RhR[  
   大家快到这里继续学习其他的知识: http://www.now.net.cn/support/ z+jh ;!i  
7U,k 2LS  
   提供免费咨询电话 : http://www.now.net.cn/customer/moreline.net u,f A!  
~uB'3`x  
    QQ咨询:168075865   188092185 .Y!:x =e  
    聯系電話:0756-2623870 -n$ewV  
    rnu e(t  
   大家懂了吗?懂了就要说懂,不懂就要说不懂,你不能懂了说你没懂,没懂反而说懂了,懂就是懂,不懂就是不懂...哎呦,谁拿臭鸡蛋丢我? 我话还没说完啊 ~wTX >qV  
<{giHT  
  〓优惠套餐PHP系列推荐: N=#4L$@-  
  ⊙商务B型主机 送国家顶级CN域名或国际域名·送800M 空间邮箱·送GCDN 网站加速及镜像引擎·送繁简通网络简装版     1350 元/年 &Cq{ _M  
_ENuwBYW-  
  ⊙虚拟专用B型主机 送国家顶级CN域名或国际域名·送2000M VIP企业邮局·送GCDN 网站加速及镜像引擎·送繁简通网络商务版 3800 元/年 v Xb:  
@44P4?;  
    更多优惠,详情请见: http://www.now.net.cn/special/ p'&*r2_ram  
eZNitGaU  
▲商务C型主机+.CN 1650 元/年 ,免费加送CDN网站加速器 送繁简通网络简装版 @;m$ua*|:  
    500独立空间,支持ASP/ASP.NET免费送800Mb邮箱Win20 +vz` go  
    03,IIS 6.0,支持50M SQLSERVER 2000ACCESS 数据库 hY+R'9  
    提供计数器,留言板脚本列表 ASP ASP.NET Active GQx9u ^>  
    Perl CGIASP.NET 1.1 Microsoft Front Page 2000 扩 展 8a9RML}G<  
    ('t kZt%8  
  ▲ 虚拟专用型C+.CN域名 4000 元/年  免费加送CDN网站加速器 送繁简通网络简装版 "x&3Z@q7  
  kg3ppt  
    送2000M VIP 企业邮局 支持ASP/ASP.NET免费送800Mb n>P! u71  
    邮箱Win2003,IIS 6.0,支持50M SQLSERVER 7UKYmJk.  
    2000ACCESS 数据库提供计数器,留言板脚本列表 ASP _R7 w?!t8  
    ASP.NET Active Perl CGIASP.NET 1.1 k(vPg,X>m  
    MicrosoftFront Page 2000 扩展,支持虚拟目录。 |) Pi6Y  
W/r^ugDV  
  详情请点击: http://www.now.net.cn/host (S oo<.9~  
  全球免费咨询电话,请点击 http://now.net.cn/customer/moreline.net TFy7HX\Oq  
  聯系電話:0756-2623870   QQ咨询:168075865   188092185
pclover 2005-11-01 11:51
看过广告,谢谢。
查看本帖完整版本: [-- 用PHP连mysql和oracle数据库性能比较 --] [-- top --]

Copyright © 2005-2025 光行天下 蜀ICP备06003254号-1 网站统计