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
- oracle 常用查詢檢視Oracle
- SQL Server 跨資料庫查詢SQLServer資料庫
- 【資料庫】sql連表查詢資料庫SQL
- 【SQL】Oracle查詢轉換之檢視合併SQLOracle
- sql查詢檢視列備註SQL
- 檢視 Laravel 查詢資料語句Laravel
- 檢視資料庫最佔資源或記憶體的查詢SQL資料庫記憶體SQL
- 資料庫 - 連線查詢、巢狀查詢、集合查詢資料庫巢狀
- 資料庫資料的查詢----連線查詢資料庫
- 資料庫高階查詢之子查詢資料庫
- RAC:在子查詢使用gv$檢視,有時查詢不出資料
- 概括SQL Server實時查詢Oracle資料庫WSSQLServerOracle資料庫
- 【PDB】Oracle跨PDB檢視查詢Oracle
- 資料庫查詢資料庫
- 資料庫基礎查詢--單表查詢資料庫
- 資料庫查詢優化:巢狀查詢資料庫優化巢狀
- 資料庫 - 資料查詢資料庫
- Oracle資料庫的查詢變慢了Oracle資料庫
- 查詢oracle效能SQLOracleSQL
- oracle常用SQL查詢OracleSQL
- 【Oracle】如何查詢檢視時使用索引Oracle索引
- Android SQL資料庫查詢方法 query( )AndroidSQL資料庫
- 優化SQL Server資料庫查詢方法優化SQLServer資料庫
- MySQL資料庫基礎——多表查詢:子查詢MySql資料庫
- oracle 9i 查詢資料字典檢視慢案例分析Oracle
- 求助:資料庫查詢資料庫
- ThinkPHP 資料庫查詢PHP資料庫
- 查詢資料庫大小資料庫
- 資料庫排序查詢資料庫排序
- Jemter查詢資料庫資料庫
- Oracle資料庫健康檢查常用SQLOracle資料庫SQL
- 檢視查詢報錯
- 【MySQL】檢視&子查詢MySql
- SQL查詢的:子查詢和多表查詢SQL
- 關係型資料庫查詢語言 SQL 和圖資料庫查詢語言 nGQL 對比資料庫SQL
- Sql Server系列:SQL語句查詢資料庫中表、檢視、儲存過程等組成SQLServer資料庫儲存過程