temp.h2.db
2 つのアプリケーションからアクセスされる名前の H2 データベースがあります。1 つ目は埋め込みモードでアクセスし、2 つ目はサーバー モードでアクセスします。2 番目のアプリケーションを使用して、データをデータベースにロードします。しかし、以前の値を削除して同じデータを繰り返しロードしても、db サイズが増加します。約200MBから約2Gbに増えました。これは、すべてのテーブルを削除して新しいデータ セット (以前のデータ セットとほぼ同じサイズ) をロードした場合でも発生します。これはバグですか?
試してみLOG_SIZE_LIMIT=32
ましたが、役に立ちませんでした。
これはオープントランザクションが原因でしょうか? どのオープントランザクションが存在するかをどのように判断できますか? データベースのリカバリを 2 回行ったところ、いくつかの統計情報が得られました。これらをどのように解釈しますか:
---- Statistics ----
-- page count: 954655, free: 776787
-- page data bytes: head 13860963, empty 26006602, rows 35134291 (66% full)
-- free 91%, 876991 page(s)
-- data leaf 3%, 36622 page(s)
-- data node 0%, 268 page(s)
-- btree leaf 3%, 36567 page(s)
-- btree node 0%, 570 page(s)
-- free list 0%, 52 page(s)
-- stream trunk 0%, 8 page(s)
-- stream data 0%, 3574 page(s)
次のセットは次のとおりです。
---- Statistics ----
-- page count: 235708, free: 164636
-- page data bytes: head 13268512, empty 24936708, rows 33759452 (66% full)
-- free 67%, 159364 page(s)
-- data leaf 14%, 35139 page(s)
-- data node 0%, 267 page(s)
-- btree leaf 14%, 35338 page(s)
-- btree node 0%, 568 page(s)
-- free list 0%, 15 page(s)
-- stream trunk 0%, 9 page(s)
-- stream data 2%, 5005 page(s)
何かMAX_COMPACT_TIME
役に立ちますか?ここであなたの助けを求めます。ありがとう。