ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルを使用した mysql データベースと oracle データベースの接続パフォーマンスの比較

PHP_PHP チュートリアルを使用した mysql データベースと oracle データベースの接続パフォーマンスの比較

WBOY
WBOYオリジナル
2016-07-21 16:07:22696ブラウズ

テストハードウェアの説明:
テストでは私のお気に入りのマシンを使用します。構成は次のとおりです:
CPU: C433
メモリ: 128M
ハードドライブ: Barracuda 第 2 世代 20G

テストソフトウェアの説明:
Windows nt server4、sp5 は WIN32 で使用されます、apache 1.3.12、php3.0.15 および php4rc1、mysql 3.22.29、oracle 8.0.5
Bluepoint linux1.0、apache 1.3.12、php4rc1、mysql 3.22.32

テスト コードの説明:
非常に単純なテーブルを使用しますmysql と oracle で使用されるテーブル構造は同じですが、フィールドは 3 つだけです。
mysql テーブル構造:
board_id smallint(6) NOT NULL auto_increment,
board_name char(16)注 _NAME" CHAR(16 ) NOT NULL,
"BOARD_MANAGER" CHAR(20));

INSERT 操作に費やされた時間のみをテストし、選択はテストしませんでした。
win32 では PHP3 のみが Oracle データベースに接続できるため、PHP3 を使用して Oracle に接続した場合のパフォーマンスのみをテストしました。 PHP4 の正式版がリリースされたら、PHP4 を使用して Oracle に接続する速度が改善されるはずだと思います。
LINUX では、Oracle をインストールしなかったので、mysql のパフォーマンスのみをテストしました。 LINUX では Oracle のパフォーマンスが良いと言われていますが、テストすることはできません。
そして、データベース接続と SQL ステートメントを分析するために Oracle に使用されるすべてのコードは統計コードの外に配置されているため、テストで測定される時間は SQL 操作の実行に費やされた時間のみです。

mysql のテストに使用するプログラム:

$dblink=mysql_connect("localhost","root","shh123");
$counter=1; 300);
$query="ボード (board_name,board_manager) の値に挿入 ('test','test')";
$begin_time=time(); 10000 ;$i++){
mysql_db_query("bbs",$query);
$end_time=time();
echo "データベース速度をテストします...echo "開始時刻:".$begin_time."
";
echo "
終了時刻:".$end_time."
";
$total=$end_time- $ begin_time;
echo "合計所要時間:"
?>

Oracle のテストに使用されるプログラム:
$handle=OCILogon("php_oracle","php_oracle"); $counter=1;
set_time_limit(300);
$query="ボード (board_id,board_name,board_manager) の値を挿入
$state=OCIParse($)ハンドル、$query);
OCIBindByName($state, ":board_id", &$i,32);
for ($i=1;$i<=10000;$i++)
ociexecute ($state);
$end_time=time();
ocilogoff($handle);
echo "begin";時間: ".$begin_time."
";
echo "
終了時刻:".$end_time."
";
$total=$end_time-$begin_time;
echo "合計費やした時間:".$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 を使用することをお勧めします。この軽量のデータベースは、最高のパフォーマンス、管理性、そして非常に優れたセキュリティを提供します。​

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/315105.html技術記事テストハードウェアの説明: テストでは私のお気に入りのマシンを使用します。構成は次のとおりです: CPU: C433 メモリ: 128M ハードドライブ: Barracuda 第 2 世代 20G テストソフトウェアの説明: Windows nt server4、sp5、...
は WIN32 で使用されています
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。