MySQL"挿入"速度差で生産し、現地の環境が大きすぎる!
-
21-08-2019 - |
質問
ルを設置しておりますMySQL5.1xインスタンスをLinuxマシン(768MB RAM)私の修復バックアップの約1000行を通じてmy.NETアプリケーション(展異なるWindowsサ)行っていましたが一定の読み込み操作する場合を考えることを表した指標であった。
そしてクリアされ、サーバからこれらの行の使用に特徴の自分のウェブアプリのその他のサーバーの挿入行(基本的には読んだテキスト、テキストファイルデータの入力分野のカスタムクラスを呼び出す保存の手順でこれらのパラメータ実績)。が本当にいつもたくさんの方のwebサイトやデータベースの両方のママ、挿入2500行瞬時に以下して変更することができます。しかし、今現在の生産""環境に、それら2500行を10分に挿入されます。を使用しているデフォルトのmy.cnfに付属の設置イナリを使用しています。
ができる最適化に書き込みを損なわない範囲内で速読みが実現されるのでしょう。または私を見落とさないよう明らかな?
感謝。
解決
てん MySQLのマニュアルページを挿入の速度?最初に思い浮かというのはこん包装のセット2500の手続き 取引開始/コミット 算書、サンプルをベースにプラグインautocommittingを2500行動します。
他のヒント
マーク(代わりに、トランザクションの自動コミット)で言及した問題に加えて、私は間違いなく、バッチ更新を使用して検討したいです。ローカル接続およびネットワーク接続(でも非常に速い1)の間に1つの大きな違いは、往復時間ですので。
帯域幅が最も可能性が高い。この場合の制限要因ではありませんが、、データベースおよび背面に2500のネットワークの往復をしていることは間違いなく、ローカルマシン上でより長く、ネットワーク上の多くかかります。
バッチ更新を使用すると、理想的な単一往復し、実際にはわずか数のものにそれらの挿入を減らすことができます。
残念ながら、私はのhref = "http://java.sun.com/javase/6/docs/api PreparedStatement.addBatch()
の。私は.NETの似た何かがあります確信してます。