0

我有一个 HashMap 和一个 MySQL 数据库。
每当我的程序启动时,它都会从数据库中读取所有内容并将其保存到 HashMap 中。
现在,当我关闭程序或每 X 秒/分钟时,我需要将所有内容保存回数据库。

我遇到了几个问题:
- 如果我只执行 SQL INSERT,这不是 1:1。我是否必须比较所有内容(可能需要太多时间)?
- 在保存 HashMap 之前删除数据库中的所有内容也很糟糕。

4

1 回答 1

1

我的个人意见是执行保存或更新。

为每个地图项维护一个脏标志。在读取地图时设置它的值,如果它需要任何更新或插入并仅对该项目执行保存和更新。

对于每个地图项,首先检查其脏标志并相应地执行保存或更新操作。

于 2013-11-01T19:58:37.150 回答