Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 HashMap 和一个 MySQL 数据库。 每当我的程序启动时,它都会从数据库中读取所有内容并将其保存到 HashMap 中。 现在,当我关闭程序或每 X 秒/分钟时,我需要将所有内容保存回数据库。
我遇到了几个问题: - 如果我只执行 SQL INSERT,这不是 1:1。我是否必须比较所有内容(可能需要太多时间)? - 在保存 HashMap 之前删除数据库中的所有内容也很糟糕。
我的个人意见是执行保存或更新。
为每个地图项维护一个脏标志。在读取地图时设置它的值,如果它需要任何更新或插入并仅对该项目执行保存和更新。
对于每个地图项,首先检查其脏标志并相应地执行保存或更新操作。