我有一個聲明(簡單,我們可以看到這樣的:)的Oracle SQL - 避免全表掃描(如果)
Select * from VIEW where View.target='alpha'
視圖是使用多個表 - 表X,Y,Z例如,目標將在X中。該視圖返回一個包含20億行的數據集,通過該查詢,數據庫將加載所有這些數據集並搜索目標等於'alpha'的位置。現在有沒有可能使這個查詢更快?
也許有可能使視圖從中加載一點點(?)我認爲當我可以在視圖中使'target ='alpha'語句變小時,視圖會變小真正幫助......但我想,當我在視圖中做此聲明的問題是相同的,因爲這樣的觀點會做同樣的(我說得對不對?)
在結束這將是更好的時候纔能有現實的觀點並且在新的陳述中做這項工作,但是如果有人在改變視圖的時候會有一個想法,那麼這也可以完成。
謝謝!
查詢執行的優化是爲什麼數據庫管理員存在的理由之一。你的問題太籠統了。如果不知道所有表的背後,它們的統計數據,索引和索引統計信息,針對它們發出的查詢的類型,它們如何填充,更改或分區等,則無法進行優化。詢問你的DBA。他有知識去做。如果您想了解如何做到這一點,你就可以開始在這裏https://docs.oracle.com/cd/E11882_01/server.112/e41573/perf_overview.htm#PFGRF94083 – Mottor
http://tkyte.blogspot.de/ 2005/06/how-to-ask-questions.html –