需要PythonSQLite帮助吗?

2024-09-28 19:19:10 发布

您现在位置:Python中文网/ 问答频道 /正文

1.我有一个数据列表和一个sqlite数据库,其中填充了过去的数据以及每个数据的一些统计信息。我必须用它们做以下操作。在

  • 检查列表中的每一项是否存在于数据库中。如果否,则收集新项目的一些统计信息并将其添加到数据库中。在
  • 检查数据库中的每一项是否在列表中。如果没有,从数据库中删除。在

我不能只创建一个新的数据库,因为我有其他处理新项目和丢失的项目。
最新的数据库更新方法是什么?

2.我不得不在python线程中使用sqlite。所以我为每个DB读写操作加锁。现在它减慢了数据库的访问速度。
线程锁操作的开销是多少?还有没有其他方法可以使用多线程的数据库?
有人能帮我吗?我用的是Python3.1。在


Tags: 数据项目方法信息数据库列表dbsqlite
1条回答
网友
1楼 · 发布于 2024-09-28 19:19:10
  1. 它不需要检查任何内容,只需在第一种情况下使用INSERT或IGNORE(只需确保您有相应的唯一字段,这样INSERT就不会创建重复项)并在第二种情况下从tbl WHERE data not in(‘first item’,‘SENDER item’,‘third item’)。

  2. 正如官方SQLite FAQ中所说,“线程是邪恶的。据我所知,threads+sqlite总是有问题。这并不是说sqlite根本不使用线程,只是不太依赖这个特性。您也可以让单线程处理数据库并首先将所有查询传递给它,但这种方法的有效性很大程度上取决于程序中数据库的使用方式。

相关问题 更多 >