我有一个SQLite表,可能有数十万个条目,这些条目会在后台以不规则的间隔添加到(偶尔会被删除)。 UI需要在wxWidgets wxListCtrl
项中以任意用户选择的排序顺序显示此表。
我打算使用wxLC_VIRTUAL
列表控件,并使用LIMIT
和OFFSET
根据需要在表格中查询小组项目,但我预见到了问题。当后台进程对当前查看的项目“上方”的项目进行更改时,我无法知道如何知道当前查看项目的偏移量将如何变化。
是否有一些SQLite技巧来处理这个问题?也许是一种方法来识别特定排序顺序中特定记录的偏移量,而无需迭代SELECT
语句返回的所有记录?
或者,是否有某种方法可以在特定时间创建数据库的不变视图,而不需要耗费时间重复?
如果所有其他方法都失败了,我可以存储更改的项目并稍后添加,但我希望我不会这样做。
答案 0 :(得分:1)
通过创建查询来查找项目的索引,通过计算“小于”(按用户定义的顺序)我正在寻找的项目数来解决它。有点复杂,因为用户定义的顺序,但它的工作原理,即使在一张巨大的桌子上运行速度也非常快。