亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

用PHP連mysql和oracle數據庫性能比較

添加時間:2014-8-7 17:05:58  添加: 思海網絡 
用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的程序:

<?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作為你的數據庫吧!這個輕量級的數據庫可以給你最佳的性能、可管理性和相當不錯的安全性。

關鍵字:mysql、oracle、數據庫

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站