dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>PHP>php技术资料>文章内容
用PHP连mysql和oracle数据库性能比较
来源:未知     作者:    
测试硬件说明:
测试使用的是我的爱机,配置如下:
CPU:C433
内存:128M
硬盘:酷鱼2代20G

测试软件说明:
WIN32下用的是windows nt server4,sp5,apache 1.3.12,php3.0.15和4rc1, 3.22.29, 8.0.5
linux下用的是bluepoint linux1.0, apache 1.3.12, 4rc1, 3.22.32

测试代码说明:
使用一个很简单的表,和使用的表结构是一样的,都只有三个字段,结构如下:
的表结构:
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)
);
的结构:
CREATE TABLE _."BOARD"
("BOARD_ID" FLOAT,
"BOARD_NAME" CHAR(16) NOT NULL,
"BOARD_MANAGER" CHAR(20)) ;

我们只测试了INSERT操作花的时间,对于select,并未作测试。
因为win32下只有PHP3才能连接,所以只测试了用3连接的性能。相
信在PHP4的正式版本出来后,用4连接的速度应该有所提升。
而在LINUX下,因为我没有装,所以只测试了的性能。据说在LINUX下,
的性能不错,只是无法测试。
并且我们将所有的用于连接和用来分析sql语句的代码都放在了统计代码之外
,所以测试得出的时间只是用于执行SQL操作所花费的时间。

用来测试的程序:

<?
$dblink=_connect("localhost","root","shh123");
_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++){
_db_query("bbs",$query);
$counter++;
}
$end_time=time();
_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;
?>

用来测试的程序:

<?
$handle=OCILogon("php_","_");

$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 "<BR>end time:".$end_time."<BR>";
$total=$end_time-$begin_time;
echo "total spent time:".$total;
?>

测试结果:

环境:win32+apache+4+
结果:28秒

环境:win32+apache+3+
结果:34秒

环境:win32+apache+3+8.0.5(oci)
结果:46秒

环境:linux+apache+4+
结果:10秒

结论:
在WIN32下,的性能虽然不是很好,但和8比起来,还是要快很多,尤其是我在
测试程序中,并没有将连接的语句包括进来,所以这个测试结果只是插入数据所花费
的时间,而的连接,天,太慢了!在我的机器上,连接一次,至少1-2秒钟。
而在LINUX下,的性能相对于在WIN32下,又有了一个很大的飞跃。由28秒骤减到10秒。
所以,如果你不需要的支持,并且量不是大的那么惊人的话,还是在LINUX
下使用作为你的数据库吧!这个轻量级的可以给你最佳的性能、可管理性和相
当不错的安全性。

 

 

上一篇:使用php动态生成gif时遇到的问题和解决办法   下一篇:浅谈Windows下 PHP4.0与oracle 8的连接设置
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·通过对PHP服务器端特性的配置加
·php与mysql三日通
·AJAX技术在PHP开发中的简单应用
·大家所使用的PHP开发环境
·PHP缓存的实现
·针对PHP新手总结的PHP基础知识
·一个简单实现多条件查询的例子
·PHP串行化变量和序列化对象
·PHP表单
·推荐阅读:php技术生成静态页面
·php实用函数
·php生成随机数
  相关文章
·使用php动态生成gif时遇到的问题
·浅谈Windows下 PHP4.0与oracle 8
·PHP中的DOM XML函数
·用PHP调用数据库的存贮过程
·PHP4实际应用经验篇(6)
·用php与mysql的电子贺卡程序
·PHP4实际应用经验篇(5)
·挑战最棒的留言本的源码(一)
·PHP4实际应用经验篇(4)
·挑战最棒的留言本的源码(二)
·PHP4实际应用经验篇(3)
·PHP4实际应用经验篇(2)
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763