在SQLite中创建冻结表视图的方法?

时间:2011-04-09 23:17:47

标签: sql sqlite wxwidgets

我有一个SQLite表,可能有数十万个条目,这些条目会在后台以不规则的间隔添加到(偶尔会被删除)。 UI需要在wxWidgets wxListCtrl项中以任意用户选择的排序顺序显示此表。

我打算使用wxLC_VIRTUAL列表控件,并使用LIMITOFFSET根据需要在表格中查询小组项目,但我预见到了问题。当后台进程对当前查看的项目“上方”的项目进行更改时,我无法知道如何知道当前查看项目的偏移量将如何变化。

是否有一些SQLite技巧来处理这个问题?也许是一种方法来识别特定排序顺序中特定记录的偏移量,而无需迭代SELECT语句返回的所有记录?

或者,是否有某种方法可以在特定时间创建数据库的不变视图,而不需要耗费时间重复?

如果所有其他方法都失败了,我可以存储更改的项目并稍后添加,但我希望我不会这样做。

1 个答案:

答案 0 :(得分:1)

通过创建查询来查找项目的索引,通过计算“小于”(按用户定义的顺序)我正在寻找的项目数来解决它。有点复杂,因为用户定义的顺序,但它的工作原理,即使在一张巨大的桌子上运行速度也非常快。