ORACLE 執行查詢語句慢(不走對應索引)

?
1. 索引未被創建或未正確創建


確保為查詢中涉及的列創建了索引。例如,如果你經常需要按column_name列進行查詢,確保已經為該列創建了索引,索引創建語句

CREATE INDEX idx_column_name ON table_name(column_name);

2、索引不可用


原因:索引可能被標記為不可用(UNUSABLE)通常是由于索引重建失敗或數據導入操作導致的。
解決方法:檢查索引狀態并重建索引
檢查索引狀態

SELECT INDEX_NAME, STATUS FROM USER_INDEXES WHERE TABLE_NAME = 'TABLE_NAME';?

如果索引不可用,重建索引

ALTER INDEX INDEX_NAME REBUILD;

3、統計信息不準確

原因:
Oracle 優化器依賴統計信息來決定執行計劃。如果表的統計信息不準確或過時,優化器可能會錯誤地選擇不使用索引。

所以創建索引并且執行語句沒有問題,則 可以使用DBMS_STATS包來收集最新的統計信息:
解決方法: ?

EXEC DBMS_STATS.GATHER_TABLE_STATS('SCHEMA_NAME', 'TABLE_NAME');
EXEC DBMS_STATS.GATHER_TABLE_STATS('SYMDR', 'LAB_REPORT_INFO');

4、如果收集最新的統計信息執行報錯

錯誤信息:

ORA-20005: object statistics are locked (stattype = ALL) 則看是否有死鎖

SELECT s.sid, s.serial#, l.object_id, o.object_name, l.session_id blocking_sid
FROM v$locked_object l
JOIN dba_objects o ON l.object_id = o.object_id
JOIN v$session s ON l.session_id = s.sid
WHERE o.object_type = 'LAB_REPORT_INFO';

5、終止會話

如果找到死鎖可以使用如下命令終止會話

ALTER SYSTEM KILL SESSION 'sid,serial#';

?6、強制更新統計信息

如果確定沒有其他會話正在使用統計信息,或者已經終止了阻塞會話,可以嘗試強制更新統計信息:


BEGIN
? DBMS_STATS.GATHER_TABLE_STATS(
? ? ownname ? ? ? => 'OWNER',
? ? tabname ? ? ? => 'TABLE_NAME',
? ? estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE,
? ? method_opt ? ?=> 'FOR ALL COLUMNS SIZE AUTO',
? ? cascade ? ? ? => TRUE,
? ? force ? ? ? ? => TRUE);
END;
/
BEGIN
? DBMS_STATS.GATHER_TABLE_STATS(
? ? ownname ? ? ? => 'SYMDR',
? ? tabname ? ? ? => 'LAB_REPORT_INFO',
? ? estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE,
? ? method_opt ? ?=> 'FOR ALL COLUMNS SIZE AUTO',
? ? cascade ? ? ? => TRUE,
? ? force ? ? ? ? => TRUE);
END;
/

7、 檢查執行計劃

使用 EXPLAIN PLAN 或 DBMS_XPLAN 查看查詢的執行計劃,了解優化器為何選擇不使用索引:?

EXPLAIN PLAN FOR SELECT * FROM TABLE_NAME WHERE COLUMN_NAME = 'VALUE';
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

EXPLAIN PLAN FOR
select * from lab_report_info where org_code='XX' ? and request_no='XX' ? ? ?and local_id='XX' ;?
SELECT * FROM table(DBMS_XPLAN.DISPLAY());

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71631.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71631.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71631.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

r1-reasoning-rag:一種新的 RAG 思路

最近發現了一個開源項目,它提供了一種很好的 RAG 思路,它將 DeepSeek-R1 的推理能力結合 Agentic Workflow 應用于 RAG 檢索 項目地址 https://github.com/deansaco/r1-reasoning-rag.git 項目通過結合 DeepSeek-R1、Tavily 和 LangGraph,實現…

服務器硬件配置統計

服務器型號和SN # dmidecode -t system | grep -E "Product Name|Serial Number" | awk -F: {print $2} PowerEdge R7515 4567CPU型號和物理CPU數量 echo "$(lscpu | grep "Model name" | cut -d : -f2 | sed s/^ *//) x $(lscpu | grep "Soc…

Hadoop、Spark、Flink Shuffle對比

一、Hadoop的shuffle 前置知識: Map任務的數量由Hadoop框架自動計算,等于分片數量,等于輸入文件總大小 / 分片大小,分片大小為HDFS默認值128M,可調 Reduce任務數由用戶在作業提交時通過Job.setNumReduceTasks(int)設…

Docker的常用鏡像

Docker的常用鏡像命令主要包括鏡像的查看、搜索、拉取、刪除、構建等操作,以下是綜合多個來源的總結: 一、基礎鏡像操作 查看本地鏡像 docker images? 顯示所有本地鏡像,包含倉庫名(REPOSITORY)、標簽(TAG…

車載以太網測試-3【Wireshark介紹】

1 摘要 Wireshark 是一款開源的網絡協議分析工具,廣泛用于網絡故障排查、協議分析、網絡安全檢測等領域。它能夠捕獲網絡數據包,并以詳細的、可讀的格式顯示這些數據包的內容。廣泛應用于車載網絡測試,是車載網絡測試工程師必須掌握的工具。…

基于跨模態地圖學習的視覺語言導航

前言 本工作開展的背景: 人類和其他物種構建類似地圖的環境表示來完成尋路: (1)當人類只使用現成的駕駛或步行路徑到達目標時,構建認知地圖和獲取空間知識的能力就會下降; (2)另…

nodejs關于后端服務開發的探究

前提 在當前的環境中關于web server的主流開發基本上都是java、php之類的,其中java spring系列基本上占了大頭,而python之流也在奮起直追,但別忘了nodejs也是可以做這個服務的,只是位置有點尷尬,現在就來探究下nodejs…

Ubuntu20.04本地配置IsaacGym Preview 4的G1訓練環境(一)

Ubuntu20.04本地配置IsaacGym Preview 4的G1訓練環境 配置conda虛擬環境安裝pytorch、cuda和cudnn安裝IsaacGym Preview 4配置rsl_rl配置unitree_rl_gym配置unitree_sdk2py 寫在前面,要求完成anaconda配置,若沒完成,請參考本人其余博客&#…

RangeError: Maximum call stack size exceeded

🤍 前端開發工程師、技術日更博主、已過CET6 🍨 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 🕠 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 🍚 藍橋云課簽約作者、…

八卡5090服務器首發亮相!

AI 人工智能領域熱度居高不下。OpenAI 的 GPT - 4 憑強悍語言處理能力,在內容創作、智能客服等領域廣泛應用。清華大學團隊的 DeepSeek 大模型在深度學習訓練優勢突出,正促使各行業應用端算力需求向推理主導轉變,呈爆發式增長 。 隨著 DeepS…

計算機視覺|Swin Transformer:視覺 Transformer 的新方向

一、引言 在計算機視覺領域的發展歷程中,卷積神經網絡(CNN) 長期占據主導地位。從早期的 LeNet 到后來的 AlexNet、VGGNet、ResNet 等,CNN 在圖像分類、目標檢測、語義分割等任務中取得了顯著成果。然而,CNN 在捕捉全…

【Leetcode 每日一題】2597. 美麗子集的數目

問題背景 給你一個由正整數組成的數組 n u m s nums nums 和一個 正 整數 k k k。 如果 n u m s nums nums 的子集中,任意兩個整數的絕對差均不等于 k k k,則認為該子數組是一個 美麗 子集。 返回數組 n u m s nums nums 中 非空 且 美麗 的子集數…

常見Web應用源碼泄露問題

文章目錄 前言一、常見的源碼泄露漏洞git源碼泄露SVN源碼泄露DS_Store文件泄漏網站備份壓縮文件泄露WEB-INF/web.xml泄露CVS泄露.hg源碼泄露Bazaar/bzr泄露.swp文件泄露 前言 在Web應用方面對于安全來說,可能大家對SQL注入、XSS跨站腳本攻擊、文件上傳等一些漏洞已…

記錄一次wifi版有人物聯串口服務器調試經過

1、首先買了一個華為的wifi路由器,連接上以后,設置好網絡名字和wifi密碼 2、用網線連接串口服務器,通過192.168.1.1登錄,進行配置 找到無線客戶端配置,先在基本配置中打開5G配置,然后再去5.8G配置中設置 …

Android 平臺架構系統啟動流程詳解

目錄 一、平臺架構模塊 1.1 Linux 內核 1.2 硬件抽象層 (HAL) 1.3 Android 運行時 1.4 原生 C/C 庫 1.5 Java API 框架 1.6 系統應用 二、系統啟動流程 2.1 Bootloader階段 2.2 內核啟動 2.3 Init進程(PID 1) 2.4 Zygote與System Serv…

【Windows下Gitbook快速入門使用】

Windows下Gitbook快速入門使用 1 工具安裝1.1 Node.js下載安裝1.1 環境變量1.2 npm配置1.3 安裝gitbook 2 gitbook使用2.1 gitbook 無法執行2.2 gitbook常用命令 Gitbook是一個軟件,使用Git和Markdown來編排書本; GitBook helps you pushlish beautiful …

RK3588V2--HYM8563TS RTC 實時時鐘適配移植

1. 什么是RTC RTC(Real-Time Clock,實時時鐘)是一種電子設備或芯片,它用于保持當前時間和日期,即使系統關閉或斷電也能持續計時。RTC 通常用于計算機、嵌入式系統、物聯網設備等需要精確時間管理的場景。 1.1 RTC 的…

MHA集群

一.MHA集群 MHA master high avavibility 主服務器高可用 如上圖所示,我們之前說過,如果在主從復制架構中主服務器出現故障,就需要我們將從服務器作為主服務器,等故障的主服務器修復好之后,再將修好的主服務器作為從服…

10 【HarmonyOS NEXT】 仿uv-ui組件開發之Avatar頭像組件開發教程(一)

溫馨提示:本篇博客的詳細代碼已發布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下載運行哦! 目錄 第一篇:Avatar 組件基礎概念與設計1. 組件概述2. 接口設計2.1 形狀類型定義2.2 尺寸類型定義2.3 組件屬性接口 3. 設計原則4. 使用…

微信小程序+SpringBoot的單詞學習小程序平臺(程序+論文+講解+安裝+修改+售后)

感興趣的可以先收藏起來,還有大家在畢設選題,項目以及論文編寫等相關問題都可以給我留言咨詢,我會一一回復,希望幫助更多的人。 系統背景 (一)社會需求背景 在全球化的大背景下,英語作為國際…