目前,我正在使用sqfentity ^2.0.0存储150000数量的行,在其中从json文件中提取并保存到DB中。
final file1 = await File(directory.path + '/data.json');
String contents = await file1.readAsString();
List<Data> dataList = await Data.fromJson(contents);
var sData = Data().upsertAll(dataList);我面临的问题是,我花了很多时间试图把它写进一个清单中。
List<Data> dataList = await Data().select().toList();还有别的办法吗?还是我漏掉了什么?
发布于 2021-07-07 14:22:25
您很可能应该重新考虑,如果您真的需要所有的数据一次。考虑到您使用的是颤振,我想您是在对这些数据执行某种UI吗?在很少的情况下,我们需要一次完整的数据列表,并且像分页这样的概念被用来在需要时懒洋洋地加载数据。有几个pub.ddev包可以帮助解决这个问题,如:
sqfentity支持通过.page(n1,n2)分页/限制方法进行分页。它可以这样使用:Data().select().page(3,5).toList()只在偏移量3到5处选择数据。然后,当用户滚动或转到第二个页面时,您可以移动这个开始/结束时间。
在SO和其他页面上都有多种实现分页的方法,这里还有很多在线教程,但这在很大程度上取决于您的用例。需要更多的细节来帮助完成这项任务,并且可能更适合作为一个单独的问题。
如果您需要对整个数据集进行计算,您应该考虑预计算这些指标并将其存储在数据库中,而不是在每个应用程序中实时计算它们。
https://stackoverflow.com/questions/68281103
复制相似问题