Oracle 11gR2とMysql 5.6の間に少しの相違があります。OracleがMysqlより高速に挿入する理由
は私が --loan ローンは、クライアントへの外部キーを持っており、それらのすべてが持っているほか、クライアントは、ブランチへの外部キーを持つ --branch --client 3つのテーブルと、両方のDBMSで同じスキーマを作成します主キー。
私はブランチを作成し、クライアント(200_000クライアント)と私は約50列からなるローンテーブルを使用してパフォーマンスを挿入したいと考えています。
clolumnsの大部分は、doubleまたはintegerまたはstringです。 MySQLで
create or replace PROCEDURE create_loans(n number)
as
BEGIN
Declare
i number:=0;
randDouble float ;
randInt number;
randString varchar2(50);
Begin
while i < n
Loop
randDouble := ROUND(dbms_random.value(0,1),17);
randInt := ROUND(dbms_random.value(1,100000000));
randString := dbms_random.string('l', 50);
Insert into loan_row_model.loan values(null,
randDouble,
randDouble*10,
randDouble*13,
SUBSTR(randString,1,32),
SUBSTR(randString,2,10),
randDouble*155,
SUBSTR(randString,1,9),
SUBSTR(randString,9,10),
SUBSTR(randString,1,32),
randDouble*6123,--annual_inc
SUBSTR(randString,3,32),--verification_status
SUBSTR(randString,4,30),
randDouble,
randInt,--open_acc
randInt*2,
SUBSTR(randString,7,7),
randInt*5,--total_acc
SUBSTR(randString,1,3),--initial_list_status
randDouble*64,
randDouble*4,
randDouble*231,
randDouble,
randDouble,
randDouble*12,
randDouble,--collection_recovery_fee
SUBSTR(randString,19,30),
randDouble*14,--last_pymnt_amnt
SUBSTR(randString,21,32),
SUBSTR(randString,9,30),
SUBSTR(randString,16,15),--policy_code
SUBSTR(randString,1,29),--application_type
randInt,
randInt*7,
randInt*4,
randInt,
randInt,
randInt,
randInt*3,
randInt,--mths_since_rcnt_il
randDouble*6149,
randInt*8,--open_rv_12m
randInt*8,--open_rv_24m
randDouble*475,
randDouble*37,--all_util
randInt*4,
randInt,
randInt*3,
randInt,
randInt*9,
TO_DATE(TRUNC(DBMS_RANDOM.VALUE(TO_CHAR(DATE '2016-01-01','J'),TO_CHAR(DATE '2046-12-31','J'))),'J'),
ROUND(dbms_random.value(1,200000))
);
i := i+1;
end loop;
end;
END;
手順はほぼ同じで、私はちょうど値のために、ネイティブの乱数発生器を使用していました。
私はOracleで並列実行を無効にし、キャッシュをフラッシュし、mysqlでキャッシュも無効にします。
しかし、50000個の挿入の結果、Oracleは15秒対30秒のMySQLを持っています。
何故ですか、お手伝いできますか?
1000理由、1つはサーバーの設定 –
Hmmmです。 。 。オラクルは、製品に膨大な資金を投入してきた企業から、30年以上にわたって継続的な改善を行ってきました。なぜフリーソフトウェアより速いのか不思議ですか? –
@BerndBuffen、私のdbmsには等しい条件がないと言うでしょうか?私はそれをどのように解決できますか? – jenius