【发布时间】:2014-06-20 10:13:03
【问题描述】:
我有一个包含大约 2000 个对象(在本例中为 Teamspeak 频道)的列表,我想记录(到磁盘)它们是否为空,以确定正在使用哪些对象。
我无法解决这个问题,因为我每 10 秒执行 2000 次插入,这会破坏我的磁盘。但是我相信一定有更好的方法来做到这一点! 我只是想获得一份未使用频道的列表(例如,空了 2 周的频道)以便稍后删除。
我应该使用关系数据库吗?有没有更好的方法来完成我想做的事情?
【问题讨论】:
-
您使用的是哪个数据库?您真的必须保存所有事件,还是只保存有关哪些频道为空的信息?
-
我正在使用 SQLite。我只需要知道每个频道最后一次使用的时间(然后过滤几周内未使用的频道)
-
在我看来,您的数据库只需要 2000 条记录,每个通道一个,保存“最后使用”的时间戳。那么你只需要更新那些自上次更新以来已经使用过的频道的记录。
-
是否可以仅检测用户何时连接到频道,以某种方式比每十秒检查一次频道以查看是否有人在其中更简洁?是否有引发事件或其他事件?
标签: database language-agnostic disk-io