0

コマンドラインからmysqldumpを使用して150MBのテーブルをエクスポートしました。エクスポートには約5秒かかりました。

ただし、同じファイルをインポートしようとすると、最大5分かかります。

インポートがエクスポートよりも遅いのはなぜですか?それを高速化する方法はありますか?1GBを超えるテーブルをエクスポート/インポートする必要があります。

それはロックで何かをする必要がありますか?selectはデータの読み取りを行っているため、エクスポートは高速で、インポートはデータの書き込みを行っており、書き込みロックが必要なため、速度が低下する可能性があります。

4

2 に答える 2

1

読み取りは、DBMS での書き込みよりもはるかに簡単です。これは、トランザクション ログを検討する前の話です。たとえば、データの行を書き込む必要があります。また、新しい行があるテーブルのすべてのインデックスを更新する必要があります。これは、書き込まれたレコードごとに 1 回以上の I/O があることを意味します。

于 2013-03-06T23:10:00.727 に答える
1

ほとんどすべてのメディアで、書き込みは読み取りよりも遅くなります。DBMS では、ロールバックが機能するように、インデックスを維持し、制約をチェックし、スペースを割り当て、トランザクションの境界を監視し、トランザクションのログを記録する必要があります。

于 2013-03-06T23:15:34.570 に答える