解决ORACLE PLSQL查询速度慢问题

news2024/12/26 21:28:07

在表内已建有索引情况下,查询速度有时快,有时慢的问题。

数据库:Oracle,
工具:PlsqlDev

 

 

不走索引的原因通常有以下几种:

1.索引失效或丢失:当数据库中的索引被减少、删除或者失效时,查询语句就无法使用索引了。这一问题通常出现在数据表结构发生变化、数据导入或者转储时。

2.数据分布不均匀:当数据表中的数据分布不均匀时,索引对查询语句的优化作用就会受到影响。数据分布不均匀的情况通常出现在一些热点数据中,导致索引的作用变得不明显。

3.大量重复数据:当数据表中存在大量重复的数据时,索引就会失去作用,从而导致不走索引的情况。这一问题通常出现在数据表中的重复数据字段没有建立索引的情况下。

4.存在复杂的查询语句:当SQL语句过于复杂时,执行计划会变得复杂,从而影响到索引的选择和使用。

5.Oracle 优化器认为不走索引比走索引块。

--解决方法

执行表的统计收集-- 在执行中,不会影响数据库正常运行。

EXEC DBMS_STATS.GATHER_TABLE_STATS(ownname => '用户名',tabname => '表名',estimate_percent=>100,method_opt=> 'for all columns size auto',CASCADE=> TRUE,no_invalidate=> FALSE,degree=> 4);
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/783124.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅析JAVA虚拟机结构与机制

本文旨在给所有希望了解 可以看出,JVM主要由类加载器子系统、运行时数据区(内存空间)、执行引擎以及与本地方法接口等组成。其中运行时数据区又由方法区、堆、Java栈、PC寄存器、本地方法栈组成。 从上图中还可以看出,在内存空间…

Flask 创建文件目录,删除文件目录

项目结构 app.py from flask import Flask, render_template, request, redirect, url_for import osapp Flask(__name__) BASE_DIR os.path.abspath(os.path.dirname(__file__)) FILE_DIR os.path.join(BASE_DIR, testfile)app.route(/, methods[GET, POST]) def index():…

心海舟楫、三一重工面试(部分)

心海舟楫 一道算法题: 我开始给出的是暴力解法,时间复杂度O(n^2)。 在面试官的提示下,实现了时间复杂度为O(n)的解法。 三一重工 没啥特别的

【VTK】VTK 让小球动起来,在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK

知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 文章目录 版本环境A.uiA.hA.cppRef. 本文主要目的是在 Qt 界面中,显示出来使用 VTK 构建的小球,并让小球能够动起来。同时为了方便对比…

第2章 SparkSQL 核心编程

第2章 SparkSQL 核心编程 2.1 新的起点2.2 DataFrame2.2.1 创建 DataFrame2.2.2 SQL 语法2.2.3 DSL 语法2.2.4 RDD 转换为 DataFrame2.2.5 DataFrame 转换为 RDD 2.3 DataSet2.3.1 创建 DataSet2.3.2 RDD 转换为 DataSet2.3.3 DataSet 转换为 RDD 2.4 DataFrame 和 DataSet 转…

学习记录681@Gitlab升级实战

前言 我的Linux目前是centos8,目前使用的gitlab是从https://mirrors.tuna.tsinghua.edu.cn/ 下载下来的gitlab-ce-12.10.1-ce.0.el8.x86_64.rpm,然后安装的。 这里需要注意如果是centos8需要下载el8的gitlab,如果是centos7需要下载el7的git…

golang - 下载大文件,实时返回前端下载进度,实现下载进度条

示例: package mainimport ("fmt""io""net/http""os""path"//"github.com/kataras/iris""github.com/kataras/iris/v12""time" )func doSomething() {time.Sleep(time.Second * …

大数据学习04-Hbase分布式集群部署

系统环境:centos7 软件版本:jdk1.8、zookeeper3.4.8、hadoop2.8.5 一、下载 HBASE官网 cd /home/toolswget https://archive.apache.org/dist/hbase/2.2.4/hbase-2.2.4-bin.tar.gz二、解压 tar -zxvf hbase-2.2.4-bin.tar.gz -C /home/local/移动目…

【弹力设计篇】聊聊降级设计

我们知道在分布式系统中,故障是不可避免的,所以我们需要设计一个高可用的系统,对于接口层面除了幂等&重试机制,还需要保证接口高可用,因此 限流&排队&降级&熔断也需要考虑。本篇主要介绍下接口故障下降…

Qt 之 自定义json配置文件类,QJsonDocument应用

目录 一、前言 二、头文件代码 三、源文件代码 四、使用示例 五、使用效果 一、前言 Qt的配置类QSettings主要是键值结构的配置,若需要的配置项为树形结构,例如配置学校\学院\班级\学生这样,使用键值结构已经不满足我们的需求了&#xf…

【计算机视觉 | 图像分割】arxiv 计算机视觉关于图像分割的学术速递(7 月 21 日论文合集)

文章目录 一、分割|语义相关(14篇)1.1 CNOS: A Strong Baseline for CAD-based Novel Object Segmentation1.2 Spinal nerve segmentation method and dataset construction in endoscopic surgical scenarios1.3 WeakPolyp: You Only Look Bounding Box for Polyp Segmentatio…

【unity】模型裁剪shader(建筑生长动画)

【unity】模型裁剪shader(建筑生长动画) 思路 使用的核心方法是clip,当传入正值时渲染,传入负值时不渲染。定义一个裁剪向量,使用裁剪向量和模型点点乘,如果模型点和裁剪向量是同一个方向,点乘为正&#…

代码随想录算法训练营第58天|739 496

739 用stack来写 stack里面发index 不要放数值 重点在于 1.填写result数组不需要按顺序填写 根据index就可以 2.遍历的值比top小的话就放入stack 这样stack里面是一个递减数组 遍历的值只需和top比 如果比他大就pop 一直到把stack里面比新加入的值小的都pop完为止 这样stack里…

vue项目的vue.config.js在打包过程中,并不会处理api请求。

主要处理打包选项和静态资源文件 请求是axios处理的

nonebot2聊天机器人插件12:stable_diffusion_webui_api

nonebot2聊天机器人插件12:stable_diffusion_webui_api 1. 插件用途2. 代码实现3. 实际效果 该插件涉及知识点:定时器,调用bot的api发送消息 插件合集:nonebot2聊天机器人插件 该系列为用于QQ群聊天机器人的nonebot2相关插件&…

IPO向上,大模型向下:中国企服寻找新「出口」

2023年,资本市场给企服行业带来的动荡,无疑是一次洗牌机会。只有当SaaS企业深耕产业侧,才能找到实现标准化的解法,才能在一波又一波的浪潮下抓住机遇。 作者|思杭 编辑|皮爷 出品|产业家 2023上半年,企服行业在…

MySQL存储过程——系统变量

1.存储过程中的变量 1.1 查看系统变量 查看所有的系统变量 show variables;查看会话级别的系统变量 show session variables;查看会话和auto相关的变量 show session variables like auto%;查看全局的和auto相关变量 show global variables like auto%;查看某一…

js的几种排序

冒泡排序&#xff1a; function bubbleSort(arr) {var len arr.length;for (var i 0; i < len; i) {for (var j 0; j < len - 1 - i; j) {if (arr[j] > arr[j1]) { //相邻元素两两对比var temp arr[j1]; //元素交换arr[j1] arr[j];arr[j] temp;}}…

进程(process)与线程(thread)以及线程的三种实现方法

一、线程和进程区别 说起进程&#xff0c;就不得不说下程序。程序是指令和数据的集合&#xff0c;其本身没有任何运行的含义&#xff0c;是一个静态的概念。 而进程则是执行程序的一次执行过程&#xff0c;它是一个动态的概念。是系统资源分配的单位。 通常在一个进程中可以…

BGP对SR-MPLS的支持

目录 BGP的SID类型 BGP Prefix-SID BGP Anycast-SID BGP Peer-SID BGP SID的通告 通过Prefix-SID属性 通告Prefix-SID 通过BGP EPE 通告Peer-SID 为什么要使用BGP作为SR-MPLS的控制平面 IGP for SR-MPSL只可以在自治系统AS内分配SID&#xff0c;规划出AS域内的最优路径 …