我的python项目涉及一个外部提供的数据库:一个大约有100K行的文本文件。
此文件将每天更新。
我应该将它加载到SQL数据库中,并每天处理diff
吗?或者有没有一种有效的方法来"查询"这个文本文件?
附加信息:
- 每个"条目"或行包含三个字段,其中任何一个都可以用作索引
- 更新是整个数据库的形式——我必须手动生成一个diff
- 查询只是查找记录并显示文本
- 查询数据库将是应用程序的一项基本任务
查询数据的频率是多少?在一个极端,如果每天一次,您可能会比维护数据库或索引更有效地使用顺序搜索。
对于更多的查询和每日更新,您可以构建和维护自己的索引,以实现更高效的查询。最有可能的是,使用SQL数据库(或其他数据库,取决于您的需求)来换取更简单、更可维护的代码,在速度上的牺牲是微不足道的(如果有的话)。
我以前所做的是从从数据库提取创建的txt文件创建SQLite数据库,每天一个SQLite数据库。
可以跨SQLite数据库进行查询以检查值等,并创建额外的数据表。
我添加了一列额外的数据,即文本行的SHA1,这样我就可以很容易地识别不同的行。
它在我的情况下起了作用,希望能为你带来一个想法的最细微的味道。