非常に単純なテーブルを使用します。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
true
http://www.bkjia.com/PHPjc/445031.html
技術記事
非常に単純なテーブルを使用します。mysql と oracle で使用されるテーブル構造は同じです。構造は次のとおりです。 Mysql テーブル構造: CREATE TABLE board (board_id smallint(6)...
)