搜尋
首頁後端開發php教程用PHP連mysql和oracle資料庫效能比較_PHP教程

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

Jul 21, 2016 pm 04:07 PM
mysqloraclephp效能資料庫比較測試用的硬體說明配置

測試硬體說明:
測試使用的是我的愛機,配置如下:
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下用的是blue .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_ >       "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");
my_select_db("bbslect_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        mysql_db_query("bbs",$query);
 mysql_db_query("bbs",$query);
 count; 🎜>$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        ociexecute($state);
}
$end_time=time();
OCIFreeStatement($state); );
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秒

0.5(oci函數)
結果:46秒

環境:linux apache php4 mysql
結果:10秒

結論:
在WIN32下,mysql的效能雖然不是很好,但和oracle8比起來,還是要快很多,尤其是我在測試程序中,並沒有將資料庫連接的語句包括進來,所以這個測試結果只是插入數據所花費的時間,而oracle的連接,天,太慢了!在我的機器上,連接一次,至少1-2秒鐘。 而在LINUX下,mysql的效能相對於在WIN32下,又有了一個很大的飛躍。由28秒驟減到10秒。 所以,如果你不需要預存程序的支持,而且資料庫量不是大的那麼驚人的話,還是在LINUX 下使用mysql作為你的資料庫吧!這個輕量級的資料庫可以給你最佳的效能、可管理性和相 當不錯的安全性。 

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/315105.htmlTechArticle測試硬體說明: 測試使用的是我的愛機,配置如下: CPU:C433 記憶體:128M 硬碟:酷魚2代20G 測試軟體說明: WIN32下用的是windows nt server4,sp5,...
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
可以在PHP會話中存儲哪些數據?可以在PHP會話中存儲哪些數據?May 02, 2025 am 12:17 AM

phpsessionscanStorestrings,數字,數組和原始物。

您如何開始PHP會話?您如何開始PHP會話?May 02, 2025 am 12:16 AM

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考慮使用AttActAcks.s.s.4)

什麼是會話再生,如何提高安全性?什麼是會話再生,如何提高安全性?May 02, 2025 am 12:15 AM

會話再生是指在用戶進行敏感操作時生成新會話ID並使舊ID失效,以防會話固定攻擊。實現步驟包括:1.檢測敏感操作,2.生成新會話ID,3.銷毀舊會話ID,4.更新用戶端會話信息。

使用PHP會話時有哪些性能考慮?使用PHP會話時有哪些性能考慮?May 02, 2025 am 12:11 AM

PHP会话对应用性能有显著影响。优化方法包括:1.使用数据库存储会话数据,提升响应速度;2.减少会话数据使用,只存储必要信息;3.采用非阻塞会话处理器,提高并发能力;4.调整会话过期时间,平衡用户体验和服务器负担;5.使用持久会话,减少数据读写次数。

PHP會話與Cookie有何不同?PHP會話與Cookie有何不同?May 02, 2025 am 12:03 AM

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

PHP如何識別用戶的會話?PHP如何識別用戶的會話?May 01, 2025 am 12:23 AM

phpIdentifiesauser'ssessionSessionSessionCookiesAndSessionId.1)whiwsession_start()被稱為,phpgeneratesainiquesesesessionIdStoredInacookInAcookInAcienamedInAcienamedphpsessIdontheuser'sbrowser'sbrowser.2)thisIdallowSphptpptpptpptpptpptpptpptoretoreteretrieetrieetrieetrieetrieetrieetreetrieetrieetrieetrieetremthafromtheserver。

確保PHP會議的一些最佳實踐是什麼?確保PHP會議的一些最佳實踐是什麼?May 01, 2025 am 12:22 AM

PHP會話的安全可以通過以下措施實現:1.使用session_regenerate_id()在用戶登錄或重要操作時重新生成會話ID。 2.通過HTTPS協議加密傳輸會話ID。 3.使用session_save_path()指定安全目錄存儲會話數據,並正確設置權限。

PHP會話文件默認存儲在哪裡?PHP會話文件默認存儲在哪裡?May 01, 2025 am 12:15 AM

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版