ホームページ > バックエンド開発 > PHPチュートリアル > mysql と oracle データベース間の PHP 接続パフォーマンスの比較_PHP チュートリアル

mysql と oracle データベース間の PHP 接続パフォーマンスの比較_PHP チュートリアル

WBOY
リリース: 2016-07-20 11:06:24
オリジナル
901 人が閲覧しました

非常に単純なテーブルを使用します。mysql と oracle で使用されるテーブル構造は同じです。どちらも次の 3 つのフィールドしかありません。
Mysql テーブル構造:
board_id smallint(6) NOT NULL auto_increment 、
ボード名 char(16) NOT NULL、
ボードマネージャー char(20)、
主キー (ボード ID)
);
Oracle 構造:
CREATE TABLE PHP_ORACLE."BOARD"
("BOARD_ID" FLOAT、
"BO ARD_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) の値を挿入 (テスト,テスト)";
for ($i=1;$i<=10000;$i++ ) {
$counter++;
$end_time=time();
echo "データベース速度をテストします..."; echo "開始時間:".$begin_time."
";
echo "
終了時間:".$end_time."
"; echo "合計所要時間:"
?>

Oracle のテストに使用されるプログラム:

$handle=OCILogon("php_oracle","php_oracle"); ;
set_time_limit(300);
$query="ボード (board_id,board_name,board_manager) の値を挿入します";
$state=OCIParse($handle, $query); ($ state, ":board_id", &$i,32);
$begin_time=time();
for ($i=1;$i<=10000;$i++){
ociexecute($state); }
$end_time=time();
OCIFreeStatement($state);
echo "テスト データベース速度...
";
echo "開始時間:".$begin_time
";
echo "
終了時刻:".$end_time."
";
$total=$end_time-$begin_time;
echo "合計所要時間:".$total;
? >

テスト結果:

環境: win32+apache+php4+mysql

環境: win32+apache+php3+mysql

環境: 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 を使用する必要があります
!この軽量のデータベースは、最適なパフォーマンス、管理性、およびかなり優れたセキュリティを提供します。





http://www.bkjia.com/PHPjc/445031.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/445031.html

技術記事

非常に単純なテーブルを使用します。mysql と oracle で使用されるテーブル構造は同じです。構造は次のとおりです。 Mysql テーブル構造: CREATE TABLE board (board_id smallint(6)...



)

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート