測試硬體說明:
測試使用的是我的愛機,配置如下:
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下用的是bluepointlinux1.0, apache 1.3.12, php4rc1,mysql 3.22.32
測試**說明:
使用乙個很簡單的表,mysql
和oracle
使用的表結構是一樣的,都只有三個字段,結構如下:
mysql
的表結構:
create table board (
board_id **allint(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++)
$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
的程式:
<?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++)
$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
作為你的資料庫吧!這個輕量級的資料庫可以給你最佳的效能、可管理性和相當不錯的安全性。
用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...