我的查詢放緩:WHERE克勞斯後,JOIN是我的查詢
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以及各自的SOURCE名稱的所有行,我只想要提供該文件的源文件以「DONATELLO」開頭的行。
該查詢對我的作品,但它的運行速度非常慢。我的代碼有更好的方法嗎?它工作正常,直到我添加最後'where'子句。當它包含時,它運行得很慢。
我很欣賞你的意見。
您需要查看Explain Plan以顯示服務器正在執行的操作。 (該鏈接適用於Oracle 9,您應該使用您正在使用的版本的鏈接) –
Mark