【
繁体中文
】
【
设为首页
】
【
加入收藏
】
首页
web程序设计
下载
图片
信息
影视
企业黄页
桌面开发
安全
商城
房产
问吧
PHPCMS2007 sp6 傲世发布
PHPCMS2007 购买指南
PHPCMS2007 升级程序
web程序设计首页
php
asp
aspnet
jsp
css
javascript
xml
专题
类别
搜索
下载首页
php
asp
aspnet
jsp
css
javascript
xml
专题
类别
搜索
图片首页
php
asp
aspnet
jsp
css
javascript
xml
专题
类别
搜索
信息首页
php
asp
aspnet
jsp
css
javascript
xml
专题
类别
搜索
影视首页
php
asp
aspnet
jsp
css
javascript
xml
按字母浏览
搜索
企业黄页首页
php
asp
aspnet
jsp
css
javascript
xml
企业新闻
企业库
产品库
人才招聘
找买家
找促销
搜索
桌面开发首页
php
asp
aspnet
jsp
css
javascript
xml
专题
类别
搜索
安全首页
php
asp
aspnet
jsp
css
javascript
xml
专题
类别
搜索
商城首页
php
asp
aspnet
jsp
css
javascript
xml
搜索
房产首页
php
asp
aspnet
jsp
css
javascript
xml
出租
求租
合租
出售
求购
置换
新楼盘
中介列表
发布楼盘
搜索
问吧首页
php
asp
aspnet
jsp
css
javascript
xml
搜索
当前位置:
web程序设计首页
>>
php
>> 用PHP连mysql和oracle数据库性能比较
用PHP连mysql和oracle数据库性能比较
2006-08-29 10:43:54 作者:
匿名
来源:
动态网站制作
浏览次数:
715
文字大小:【
大
】【
中
】【
小
】
测试硬件说明:
测试使用的是我的爱机,配置如下:
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","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...
";
echo "begin time:".$begin_time."
";
echo "
end time:".$end_time."
";
$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...
";
echo "begin time:".$begin_time."
";
echo "
end time:".$end_time."
";
$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秒。 所以,如果你不需要存储过程的支持,并且数据库量不是大的那么惊人的话,还是在LINUX 下使用mysql作为你的数据库吧!这个轻量级的数据库可以给你最佳的性能、可管理性和相 当不错的安全性。
0
顶一下
0
踩一下
本文引用地址:
http://www.open68.com/article/2006/0829/web_14931.html
相关文章
推荐文章
更多
07-17
·
针对初学PHP者的疑难问答(1)
11-30
·
PHP安装攻略:常见问题解答(一)
01-13
·
PHP安装攻略:常见问题解答(二)
10-29
·
使用网络地址转换实现多服务器负...
08-29
·
用PHP连mysql和oracle数据库性能比较
11-13
·
PHP:风雨欲来 路在何方?
11-07
·
真正面向对象编程:PHP5.01发布
热点文章
更多
友情链接
|
诚聘英才
|
关于我们
|
版权声明
|
联系我们
|
广告服务
星龙开源 (open68)
备案序号:京ICP备07003625号
Powered by Phpcms 2007