我的查询:
SELECT source.name, file_info.*
from FILE_INFO
JOIN source
ON source.id = file_info.source_ID
where file_info.source_ID in
(select ID from Source where name like 'Donatello.%');
我的表:
FILE_INFO
FILE_NAME | FILE_ID | SOURCE_ID | DATE_SEEN | CURRENT_STATUS
SOURCE
NAME | ID | CATEGORY
背景:
在我的数据库中,文件与提供它们的来源相关联。每个文件都有一个 FILE_ID,每个源都有一个 ID(与表 FILE_INFO 中的 SOURCE_ID 相同)。但是,表 FILE_INFO 不包含与 SOURCE_ID 关联的名称。
我正在尝试打印表 FILE_INFO 中的所有行以及相应的源名称,此外,我只想要提供该文件的源以“DONATELLO”开头的行。
此查询对我有用,但运行速度非常慢。我的代码有更好的方法吗?在我添加最后一个“where”子句之前,它工作正常。当包括在内时,它的运行速度很慢。
感谢您的意见。