用PHP連mysql和oracle資料庫效能比較

2021-06-21 05:26:12 字數 3997 閱讀 3059

測試硬體說明:

測試使用的是我的愛機,配置如下:

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的程式:

測試結果:

環境: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連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 ...

解決 php用ODBC連mysql錯誤2則

這和你的php有關。你的php沒有認出來這個函式,這是因為在php.ini中,很多的擴充套件 extension 前面都被加了分號 咱們要做的就是把這些分號去掉。乙個php 5.0 的php.ini大概長這樣 裡面加了 的就是沒有生效的。甚至,xampp自帶的php,居然都沒有某些必備的擴充套件的語...

MySQL 表的內連和外連

內連線實際上就是利用 where 子句對兩種表形成的笛卡兒積進行篩選 標準語法 select 字段 from 表1 inner join 表2 on 連線條件 and 其他條件 例如 顯示 ld 的名字和部門名稱 前面練習過的 用標準寫法 select ename,dname from emp in...