【发布时间】:2011-04-11 07:27:50
【问题描述】:
我有一个 SQLite 表,其中可能包含数十万个条目,这些条目会以不规则的时间间隔在后台添加到(偶尔从中删除)。 UI 需要在 wxWidgets wxListCtrl 项目中以用户选择的任意排序顺序显示此表。
我打算使用wxLC_VIRTUAL 列表控件,并根据需要使用LIMIT 和OFFSET 在表中查询小项目组,但我预见到了麻烦。当后台进程对当前查看的“上方”的项目进行更改时,我看不到任何方法可以知道当前查看的项目的偏移量将如何变化。
是否有一些 SQLite 技巧来处理这个问题?也许一种方法可以确定特定记录在特定排序顺序中的偏移量,而无需遍历 SELECT 语句返回的所有记录?
或者,是否有某种方法可以在特定时间创建数据库的不变视图,而不需要耗时的复制?
如果一切都失败了,我可以存储更改的项目并稍后添加它们,但我希望我不必这样做。
【问题讨论】: