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


Posted in PHP onOctober 09, 2006

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

用来测试oracle的程序:

<?php
$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 "<BR>end 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秒。 所以,如果你不需要存储过程的支持,并且数据库量不是大的那么惊人的话,还是在LINUX 下使用mysql作为你的数据库吧!这个轻量级的数据库可以给你最佳的性能、可管理性和相 当不错的安全性。 

PHP 相关文章推荐
PHP网站提速三大“软”招
Oct 09 PHP
收藏的PHP常用函数 推荐收藏保存
Feb 21 PHP
用PHP读取和编写XML DOM的实现代码
Feb 03 PHP
通过缓存数据库结果提高PHP性能的原理介绍
Sep 05 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
Jun 13 PHP
解析php中heredoc的使用方法
Jun 17 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
May 10 PHP
PHP获取数组最后一个值的2种方法
Jan 21 PHP
php简单实现多维数组排序的方法
Sep 30 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
Apr 17 PHP
Centos7安装swoole扩展操作示例
Mar 26 PHP
PHP+Mysql分布式事务与解决方案深入理解
Feb 27 PHP
利用文件属性结合Session实现在线人数统计
Oct 09 #PHP
PHP中上传大体积文件时需要的设置
Oct 09 #PHP
新版PHP极大的增强功能和性能
Oct 09 #PHP
用PHP开发GUI
Oct 09 #PHP
PHP中实现进程间通讯
Oct 09 #PHP
PHP利用COM对象访问SQLServer、Access
Oct 09 #PHP
新版mysql+apache+php Linux安装指南
Oct 09 #PHP
You might like
用PHP实现ODBC数据分页显示一例
2006/10/09 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
2016/05/18 PHP
[原创]图片分页查看
2006/08/28 Javascript
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
jQuery阻止同类型事件小结
2013/04/19 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
2014/12/31 Javascript
javascript实现加载xml文件的方法
2015/11/24 Javascript
bootstrap模态框远程示例代码分享
2017/05/22 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
Vue ​v-model相关知识总结
2021/01/28 Vue.js
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
[20:30]职业巡回赛回顾
2018/08/09 DOTA
Python文件与文件夹常见基本操作总结
2016/09/19 Python
Python线性回归实战分析
2018/02/01 Python
python3判断url链接是否为404的方法
2018/08/10 Python
浅谈pandas用groupby后对层级索引levels的处理方法
2018/11/06 Python
Python编写合并字典并实现敏感目录的小脚本
2019/02/26 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
印尼极简主义和实惠的在线家具店:Fabelio
2019/03/27 全球购物
索尼巴西商店:Sony巴西
2019/06/21 全球购物
Nanushka官网:匈牙利服装品牌
2019/08/14 全球购物
生日派对邀请函
2014/01/13 职场文书
优秀护士获奖感言
2014/02/20 职场文书
软件项目实施计划书
2014/05/02 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
出售房屋委托书范本
2014/09/24 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
小学中队活动总结
2015/05/11 职场文书
2016银行求职自荐信
2016/01/28 职场文书
《桂花雨》教学反思
2016/02/19 职场文书
CSS font-variation 可变字体的魅力(实例详解)
2022/03/03 HTML / CSS