1

サーバーでスクリプトを実行して、毎分約 3000 レコードを各 ~2kB 挿入します。サーバーのメモリがこのアクティビティからのデータでいっぱいになるようです。(20分で100MB)

最終的には、プロセス (HTTPD および MySQLd) を強制終了するか、サーバーを再起動してメモリを取り戻す必要があります...

大量のレコードを挿入するときにメモリを節約する方法はありますか? 挿入されたデータをMySQLが何らかの形でキャッシュしているようです...

ありがとう!

4

2 に答える 2

0

mysqlキャッシュをオフにしますか? 無効にするだけです:(ここから取得)

SET GLOBAL query_cache_size = 40000;   # minimum as docs says
SET SESSION query_cache_type = OFF;

SHOW VARIABLES LIKE 'foo';これらの値に何が含まれているかを確認するために与えることができます。

于 2012-06-02T15:39:52.907 に答える
0

挿入のパフォーマンスを向上させるより良い方法があります。

まず、これらの挿入を 10 秒に 1 回のクエリで送信できる可能性はありますか? または似たようなもの。ここでのアイデアは、サーバーに送信するクエリを減らすことです。

また、InnoDB を使用していますか? そのエンジンは、このタイプの uf の使用に適しています。

于 2012-06-02T16:50:07.623 に答える