oracle查询慢怎么优化,Oracle查询优化-怎样建立索引优化下面的查询语句啊
下面是转换出来的查询语句
SELECT *
FROM (SELECT "Project1"."C1" AS "C1",
"Project1"."ID" AS "ID",
"Project1"."NVC_ORDERBY" AS "NVC_ORDERBY",
"Project1"."I_STATE" AS "I_STATE",
"Project1"."I_KPSTATE" AS "I_KPSTATE",
"Project1"."VC_FPNO" AS "VC_FPNO",
"Project1"."NVC_TAX" AS "NVC_TAX",
"Project1"."N_TAXRATE" AS "N_TAXRATE",
"Project1"."NVC_CUSTOMER" AS "NVC_CUSTOMER",
"Project1"."N_OPENMONEY" AS "N_OPENMONEY",
"Project1"."NVC_NAME" AS "NVC_NAME",
"Project1"."I_ID_APPLY" AS "I_ID_APPLY",
"Project1"."DT_APPLY" AS "DT_APPLY",
"Project1"."NVC_REMARK" AS "NVC_REMARK",
"Project1"."I_ID_UNIT" AS "I_ID_UNIT",
"Project1"."I_ID_BUNIT" AS "I_ID_BUNIT",
"Project1"."I_ID_USER" AS "I_ID_USER",
"Project1"."DT_WRITE" AS "DT_WRITE",
"Project1"."I_ID_TAX" AS "I_ID_TAX",
"Project1"."I_ID_MONEYTYPE" AS "I_ID_MONEYTYPE"
FROM (SELECT "Project1"."ID" AS "ID",
"Project1"."I_STATE" AS "I_STATE",
"Project1"."I_ID_TAX" AS "I_ID_TAX",
"Project1"."I_ID_MONEYTYPE" AS "I_ID_MONEYTYPE",
"Project1"."N_OPENMONEY" AS "N_OPENMONEY",
"Project1"."NVC_REMARK" AS "NVC_REMARK",
"Project1"."I_ID_APPLY" AS "I_ID_APPLY",
"Project1"."DT_APPLY" AS "DT_APPLY",
"Project1"."I_ID_BUNIT" AS "I_ID_BUNIT",
"Project1"."I_ID_UNIT" AS "I_ID_UNIT",
"Project1"."I_ID_USER" AS "I_ID_USER",
"Project1"."DT_WRITE" AS "DT_WRITE",
"Project1"."N_TAXRATE" AS "N_TAXRATE",
"Project1"."NVC_CUSTOMER" AS "NVC_CUSTOMER",
"Project1"."I_KPSTATE" AS "I_KPSTATE",
"Project1"."VC_FPNO" AS "VC_FPNO",
"Project1"."NVC_ORDERBY" AS "NVC_ORDERBY",
"Project1"."NVC_TAX" AS "NVC_TAX",
"Project1"."C1" AS "C1",
"Project1"."NVC_NAME" AS "NVC_NAME",
ROW_NUMBER() OVER(ORDER BY "Project1"."I_STATE" ASC, "Project1"."I_KPSTATE" ASC, "Project1"."ID" DESC) AS "row_number"
FROM (SELECT "Filter1"."ID1" AS "ID",
"Filter1"."I_STATE1" AS "I_STATE",
"Filter1"."I_ID_TAX" AS "I_ID_TAX",
"Filter1"."I_ID_MONEYTYPE" AS "I_ID_MONEYTYPE",
"Filter1"."N_OPENMONEY" AS "N_OPENMONEY",
"Filter1"."NVC_REMARK" AS "NVC_REMARK",
"Filter1"."I_ID_APPLY" AS "I_ID_APPLY",
"Filter1"."DT_APPLY" AS "DT_APPLY",
"Filter1"."I_ID_BUNIT1" AS "I_ID_BUNIT",
"Filter1"."I_ID_UNIT1" AS "I_ID_UNIT",
"Filter1"."I_ID_USER1" AS "I_ID_USER",
"Filter1"."DT_WRITE1" AS "DT_WRITE",
"Filter1"."N_TAXRATE" AS "N_TAXRATE",
"Filter1"."NVC_CUSTOMER" AS "NVC_CUSTOMER",
"Filter1"."I_KPSTATE" AS "I_KPSTATE",
"Filter1"."VC_FPNO" AS "VC_FPNO",
"Filter1"."NVC_ORDERBY" AS "NVC_ORDERBY",
"Filter1"."NVC_TAX" AS "NVC_TAX",
1 AS "C1",
"Extent3"."NVC_NAME" AS "NVC_NAME"
FROM (SELECT "Extent1"."ID" AS "ID1",
"Extent1"."I_STATE" AS "I_STATE1",
"Extent1"."I_ID_TAX" AS "I_ID_TAX",
"Extent1"."I_ID_MONEYTYPE" AS "I_ID_MONEYTYPE",
"Extent1"."N_OPENMONEY" AS "N_OPENMONEY",
"Extent1"."NVC_REMARK" AS "NVC_REMARK",
"Extent1"."I_ID_APPLY" AS "I_ID_APPLY",
"Extent1"."DT_APPLY" AS "DT_APPLY",
"Extent1"."I_ID_BUNIT" AS "I_ID_BUNIT1",
"Extent1"."I_ID_UNIT" AS "I_ID_UNIT1",
"Extent1"."I_ID_USER" AS "I_ID_USER1",
"Extent1"."DT_WRITE" AS "DT_WRITE1",
"Extent1"."I_FILECOUNT" AS "I_FILECOUNT",
"Extent1"."N_TAXRATE" AS "N_TAXRATE",
"Extent1"."NVC_CUSTOMER" AS "NVC_CUSTOMER",
"Extent1"."I_KPSTATE" AS "I_KPSTATE",
"Extent1"."VC_FPNO" AS "VC_FPNO",
"Extent1"."NVC_ORDERBY" AS "NVC_ORDERBY",
"Extent2"."ID" AS "ID2",
"Extent2"."VC_NO" AS "VC_NO",
"Extent2"."I_TYPE" AS "I_TYPE",
"Extent2"."NVC_TAX" AS "NVC_TAX",
"Extent2"."I_ID_BUNIT" AS "I_ID_BUNIT2",
"Extent2"."I_STATE" AS "I_STATE2",
"Extent2"."I_ID_UNIT" AS "I_ID_UNIT2",
"Extent2"."I_ID_USER" AS "I_ID_USER2",
"Extent2"."DT_WRITE" AS "DT_WRITE2"
FROM "XYZLS"."T_CW_FPOPENAPPLY" "Extent1"
INNER JOIN "XYZLS"."T_CW_FPTAX" "Extent2"
ON "Extent1"."I_ID_TAX" = "Extent2"."ID"
WHERE ((1 = "Extent1"."I_ID_UNIT") OR
(6182 = "Extent1"."I_ID_UNIT") OR
(6422 = "Extent1"."I_ID_UNIT") OR
(6502 = "Extent1"."I_ID_UNIT") OR
(6541 = "Extent1"."I_ID_UNIT") OR
(6183 = "Extent1"."I_ID_UNIT") OR
(6185 = "Extent1"."I_ID_UNIT") OR
(6201 = "Extent1"."I_ID_UNIT") OR
(6801 = "Extent1"."I_ID_UNIT") OR
(7101 = "Extent1"."I_ID_UNIT") OR
(6221 = "Extent1"."I_ID_UNIT") OR
(6241 = "Extent1"."I_ID_UNIT") OR
(6361 = "Extent1"."I_ID_UNIT") OR
(6261 = "Extent1"."I_ID_UNIT") OR
(6281 = "Extent1"."I_ID_UNIT") OR
(6721 = "Extent1"."I_ID_UNIT") OR
(6401 = "Extent1"."I_ID_UNIT") OR
(6641 = "Extent1"."I_ID_UNIT") OR
(6681 = "Extent1"."I_ID_UNIT") OR
(6481 = "Extent1"."I_ID_UNIT") OR
(6902 = "Extent1"."I_ID_UNIT") OR
(6482 = "Extent1"."I_ID_UNIT") OR
(6901 = "Extent1"."I_ID_UNIT") OR
(7041 = "Extent1"."I_ID_UNIT") OR
(6561 = "Extent1"."I_ID_UNIT") OR
(6581 = "Extent1"."I_ID_UNIT") OR
(6582 = "Extent1"."I_ID_UNIT") OR
(6583 = "Extent1"."I_ID_UNIT") OR
(6584 = "Extent1"."I_ID_UNIT") OR
(6585 = "Extent1"."I_ID_UNIT") OR
(6881 = "Extent1"."I_ID_UNIT") OR
(7001 = "Extent1"."I_ID_UNIT") OR
(6661 = "Extent1"."I_ID_UNIT") OR
(7061 = "Extent1"."I_ID_UNIT") OR
(6162 = "Extent1"."I_ID_UNIT") OR
(6821 = "Extent1"."I_ID_UNIT") OR
(6921 = "Extent1"."I_ID_UNIT") OR
(6961 = "Extent1"."I_ID_UNIT") OR
(7062 = "Extent1"."I_ID_UNIT") OR
(7081 = "Extent1"."I_ID_UNIT") OR
(7082 = "Extent1"."I_ID_UNIT"))) "Filter1"
LEFT OUTER JOIN "XYZLS"."T_BASE_MONEYTYPE" "Extent3"
ON "Filter1"."I_ID_MONEYTYPE" = "Extent3"."ID"
WHERE (("Filter1"."DT_APPLY" >= TO_DATE('2019-01-01', 'yyyy-mm-dd')) AND
("Filter1"."DT_APPLY" <= TO_DATE('2019-12-30', 'yyyy-mm-dd')))) "Project1") "Project1"
WHERE ("Project1"."row_number" > 0)
ORDER BY "Project1"."I_STATE" ASC,
"Project1"."I_KPSTATE" ASC,
"Project1"."ID" DESC)
WHERE (ROWNUM <= (35))
其中最多的T_CW_FPOPENAPPLY表有50万数据 其他表数据都不多
ID为主键
耗时一秒多,我觉得太慢了
后来我把orderby里面的前两个条件去掉,去掉之后
发现,哇 太快了吧,要的就是这种效果
请问,如果我不去掉这两个排序字段,如何建立索引优化查询速度
oracle查询慢怎么优化,Oracle查询优化-怎样建立索引优化下面的查询语句啊相关推荐
- 建立索引为什么能加快查询速度 【转】
建立索引为什么能加快查询速度 这是因为,创建索引可以大大提高系统的性能.第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性.第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因. ...
- 达梦数据库、oracle数据库如何判断指定表有没有建立索引?对应的表有没有索引查询方法
sm_appmenuitem 这个演示表有 5 个索引. 我在不知道的情况下想知道这个表的索引有没有建成功,或者说我现在想知道这个表的索引有哪些,就要来查询了. 索引表查询方法如下,把对应的表放到括号 ...
- Oracle学习总结(7)—— 常用的数据库索引优化语句总结
不管是用C/C++/Java等代码编写的程序,还是SQL编写的数据库脚本,都存在一个持续优化的过程.也就是说,代码优化对于程序员来说,是一个永恒的话题. 近期,我们对之前编写的数据库脚本进行了全面的自 ...
- mysql索引优化有几种_mysql索引优化
索引类型 从物理存储角度上,索引可以分为聚集索引和非聚集索引. 1.聚集索引(Clustered Index) 聚集索引决定数据在磁盘上的物理排序,一个表只能有一个聚集索引. 2.非聚集索引(Non- ...
- MySQL-索引优化篇(3)_利用索引优化锁
文章目录 生猛干货 官方文档 利用索引优化锁 为什么索引能优化锁 演示 无索引的情况 (获取不同的数据 发生了阻塞) 有索引的情况 (获取不同的数据 未阻塞) 搞定MySQL 生猛干货 带你搞定MyS ...
- 数据库建立索引为什么会加快查询速度
数据库在执行一条sql语句时,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合.如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数 ...
- 标量子查询产生的SQL性能瓶颈,该怎么合理优化?
来自:DBAplus社群 作者介绍 郝昊喆,新炬网络数据库专家.擅长数据库方面的开发.整体架构及复杂SQL的调优,参与了多个行业核心系统的优化工作,目前专注于对开源技术.自动化运维和性能调优技术的研究 ...
- MySQL优化篇:单表索引失效
文章目录 1.准备环境 2.全值匹配我最爱 2.最佳作前缀法则 3.不要在索引列上做任何计算 3.1 在查询列上使用了函数 3.2 在查询列上做了转换 4.索引列上不能有范围查询 5.尽量使用覆盖索引 ...
- 如何在ORACLE数据库的字段上建立索引?
Oracle中建立索引,会提高查询速度: create index 索引名 on 表名(列名); 例如: create index index_userid on tbl_detail(userid) ...
最新文章
- 35岁老码农:老板,你看我还有机会吗?
- 用python画月亮的代码-用Python画一个超级月亮
- html表ge模板_16款用户体验优秀的HTML CSS价格表格模板 附演示及下载
- Python之web开发(五):WEB开发html语句经典应用
- docker logs 容器日志文件路径查看
- matlab 连通分支,(完整版)图的连通性判断matlab实验报告
- JScript 和 VBscript访问网络上的打印设备
- 密码登录模式流程分析
- python mysql 保存csv_使用Python将csv文件快速转存到Mysql
- python能做数据库开发吗_5分钟快速入门,用Python做SQLite数据库开发,附代码适合初学...
- (18)Verilog HDL结构:initial语句
- 华硕笔记本之secure boot
- 解决bootstrap模态框居中问题
- 关于卡巴斯基KEY被列入黑名单的问题
- Blog说明--WaaSinn的专业窝
- 什么是 IP 欺骗?
- html源代码资源网,利用HTML源代码,挖掘网络资源
- BUUCTF misc 九连环隐写
- 数据中心网络布线为大数据时代铺路
- cuda安装正常,nvcc -V却没有任何显示
热门文章
- ORA-29702:error occurred in Cluster Group Service operation错误解决
- cisco ios命令
- 查看Scala编译的.class文件
- eplan连接定义点不显示_EPLAN电气图实例--控制柜(控制面板)
- 安装完成后的配置_cent os7 默认安装后的一般配置
- mnist手写数字数据集_mnist手写数据集(1. 加载与可视化)
- java string做除法_如果用java来实现传统方式的除法,用String来保存结果,想精确多少位都行,那改怎么做?...
- python点击按钮改变图片_单击tkinter按钮时更改图片
- Java SecurityManager checkAwtEventQueueAccess()方法与示例
- 面试官 | 说一下 JVM 常用参数有哪些?