oracle資料庫sql查詢檢視第二次查詢很慢
同樣一個sql查詢檢視,第一次查詢很快,1s內就查詢出來,第二次再查需要1分多鐘才能出來。
sql語句如下:
select * from vEISWorksService where StudiesDoneDate >= '20230628' and StudiesStatus = 100 and RESULTSINDEX is not null and (ResultsReportsPost is null or ResultsApprovePost is null) and rownum <= 50;
檢視後臺等待事件,主要在於"db file sequential read",但是並沒有堵塞發生
EVENT MACHINE BLOCKING_SESSION ------------------------ ------------ db file sequential read ris01 db file sequential read WORKGROUP\ZYJPDYSVR
這個問題首先想到了,基數反饋(Cardinality Feedback )問題導致的查詢慢,由於並不確認是否真是這個問題造成,首先在會話級別除錯,設定session級別"_optimizer_use_feedback"=FALSE
sql > alter session set "_optimizer_use_feedback"=FALSE;
再次查詢發現再次查詢確實不再慢了,正式關閉基數反饋。
SQL> alter system set "_optimizer_use_feedback"=false;
基數反饋是 Oracle 11.2 引入的關幹 SQL效能最佳化的新特性,但是該引數存在不穩定因素,可能會帶來執行效率的問題,所以建議關閉最佳化器反饋。
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/22967847/viewspace-3006322/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【SQL】Oracle查詢轉換之物化檢視查詢重寫SQLOracle
- 【SQL】Oracle查詢轉換之檢視合併SQLOracle
- 概括SQL Server實時查詢Oracle資料庫WSSQLServerOracle資料庫
- SQL Server 跨資料庫查詢SQLServer資料庫
- 【PDB】Oracle跨PDB檢視查詢Oracle
- Android SQL資料庫查詢方法 query( )AndroidSQL資料庫
- Oracle資料庫的查詢變慢了Oracle資料庫
- 資料庫高階查詢之子查詢資料庫
- 檢視 Laravel 查詢資料語句Laravel
- SQL查詢語句 (Oracle)SQLOracle
- 資料庫基礎查詢--單表查詢資料庫
- Oracle資料庫中的分頁查詢Oracle資料庫
- Oracle OCP(14):使用子查詢檢索資料Oracle
- SQL查詢的:子查詢和多表查詢SQL
- 20240719資料庫關聯查詢、條件查詢資料庫
- MySQL資料庫基礎——多表查詢:子查詢MySql資料庫
- Oracle 查詢多個資料Oracle
- Jemter查詢資料庫資料庫
- 求助:資料庫查詢資料庫
- ThinkPHP 資料庫查詢PHP資料庫
- 資料庫排序查詢資料庫排序
- 查詢資料庫大小資料庫
- 關係型資料庫查詢語言 SQL 和圖資料庫查詢語言 nGQL 對比資料庫SQL
- MySQL資料庫:7、SQL常用查詢語句MySql資料庫
- 檢視查詢報錯
- 【MySQL】檢視&子查詢MySql
- 關於Oracle資料庫的時間查詢Oracle資料庫
- SQL Server實戰四:查詢資料庫的資料SQLServer資料庫
- 如何使用SQL查詢檢視,Postico使用技巧分享~SQL
- Logtail:像查詢資料庫一樣查詢日誌AI資料庫
- Oracle 查詢Oracle
- Oracle總結【SQL細節、多表查詢、分組查詢、分頁】OracleSQL
- 資料庫查詢優化資料庫優化
- 資料庫查詢語句資料庫
- 【SQL】Oracle查詢轉換之 OR用法SQLOracle
- langchain_chatchat+ollama部署本地知識庫,聯網查詢以及對資料庫(Oracle)資料進行查詢LangChain資料庫Oracle
- SQL的資料庫操作:新增、更新、刪除、查詢SQL資料庫
- go 連線資料庫 - GORM學習 - sql查詢Go資料庫ORMSQL