Python/Sqlite3-从for循环列表中的项中选择语句
我有两个sqlite3数据库,其中有两个不同的表,我将数据库1中的表称为DB-A,数据库2中的表称为DB-B DB-A使用以下字段存储行:用户名、记录日期、选择 DB-B存储包含20个字段的行,从记录的日期开始,选择具有等效字段(格式略有不同) 格式差异示例:DB-A:日期记录格式为DD-MM-YYYY DB-B:日期记录格式为YYYY-MM-DD 格式差异示例:DB-A:所选内容包括空格和连字符, DB-B:所选内容均为小写,无空格或连字符 我目前正在从DB-a中选择*其中用户名=?(用户定义的用户名) and.fetchall()将其添加到一个列表:userList 然后我有一个带有以下伪代码的for循环Python/Sqlite3-从for循环列表中的项中选择语句,python,sql,database,list,sqlite,Python,Sql,Database,List,Sqlite,我有两个sqlite3数据库,其中有两个不同的表,我将数据库1中的表称为DB-A,数据库2中的表称为DB-B DB-A使用以下字段存储行:用户名、记录日期、选择 DB-B存储包含20个字段的行,从记录的日期开始,选择具有等效字段(格式略有不同) 格式差异示例:DB-A:日期记录格式为DD-MM-YYYY DB-B:日期记录格式为YYYY-MM-DD 格式差异示例:DB-A:所选内容包括空格和连字符, DB-B:所选内容均为小写,无空格或连字符 我目前正在从DB-a中选择*其中用户名=?(用户定义
for item in userList:
reformat item['Date Record']
reformat item['Selection']
SELECT * from DB-B:Table WHERE DB-B:Date Record = item['Date Record'] AND DB-B:Selection like item['Selection]
execute logic here based on select.fetchall()
现在代码可以工作了,但是这需要花费很长时间(有时需要9个小时以上),因为我的用户列表最多可以有14405行,而DB-B有300多万行
有谁能提出更好的方法来解决这类问题,从而显著缩短执行时间
谢谢你的帮助,
已开发。它们不存储在同一数据库中有特殊原因吗?感谢aws_学徒的快速响应,加入
将缓解整个情况。除了糟糕的结构之外,没有什么特别的原因(业余程序员)。考虑到记录的日期和字段中的选择格式不同,联接是否仍然有用?是的,您可以在数据库中转换和操作它们以满足您的需要,老实说,这将是最有效的way@Developed如果计划对设计进行更改,请确保始终以以下格式存储日期:YYYY-MM-DD@aws_apprentice谢谢,伙计,我用join得到了一个满意的解决方案。它们不存储在同一个数据库中有什么特别的原因吗?感谢aws_学徒的快速响应,加入将缓解整个情况。除了糟糕的结构之外,没有什么特别的原因(业余程序员)。考虑到记录的日期和字段中的选择格式不同,联接是否仍然有用?是的,您可以在数据库中转换和操作它们以满足您的需要,老实说,这将是最有效的way@Developed如果计划对设计进行更改,请确保始终以以下格式存储日期:YYYY-MM-DD@aws_apprentice谢谢,伙计,我用join找到了一个满意的解决方案。