当前位置: 首页 > news >正文

oracle trim 函数很慢,加trim以后执行超慢,执行计划求解

RT,该字段未建立索引,以下贴出SQL,及执行计划,不加trim走hash join,求解释!

----------------------语句如下,标红的字段加trim()

EXPLAIN PLAN FOR select a.楼盘id,

a.监测明细id,

a.报告日期,

a.广告位名称,

a.页面名称,

a.所属集团,

b.项目名称,

a.投放地域,

a.媒体,

a.对手,

c.province as 关联所在省,

c.city as 关联所在市

from t_hw_en a, t_hw_building b, t_crm_city c,t_crm_city d

where a.楼盘id = b.楼盘id

and b.所在城市uid = c.huid

and trim(a.投放地域) not in (trim(c.province), trim(c.city))

and b.项目类别 = '1'

and trim(a.媒体) not in ('XX', 'YY', 'ZZ')

and a.报告日期 >= trunc(sysdate - 7)

and not exists (select buildingid, ad, site

from dw_yidi_list g

where a.楼盘id = g.buildingid

and a.广告位名称 = g.ad

and a.媒体 = g.site)

AND trim(a.投放地域)=d.city(+)

AND (d.province,c.province)  NOT IN (SELECT '海南','海南' FROM dual);

------------------------加trim()的执行计划

SELECT * FROM TABLE(dbms_xplan.display);

1        Plan hash value: 1048134721

2

3        -----------------------------------------------------------------------------------------------------------------

4        | Id  | Operation                        | Name                         | Rows  | Bytes | Cost (%CPU)| Time     |

5        -----------------------------------------------------------------------------------------------------------------

6        |   0 | SELECT STATEMENT                 |                              |     1 |   310 |  1948   (1)| 00:00:24 |

7        |*  1 |  FILTER                          |                              |       |       |            |          |

8        |   2 |   NESTED LOOPS OUTER             |                              |     1 |   310 |  1946   (1)| 00:00:24 |

9        |   3 |    NESTED LOOPS                  |                              |     1 |   294 |  1944   (1)| 00:00:24 |

10        |   4 |     NESTED LOOPS                 |                              |     1 |   236 |  1942   (1)| 00:00:24 |

11        |   5 |      NESTED LOOPS ANTI           |                              |     1 |   183 |  1936   (1)| 00:00:24 |

12        |*  6 |       TABLE ACCESS BY INDEX ROWID| T_HW_EN |     1 |   119 |  1935   (1)| 00:00:24 |

13        |*  7 |        INDEX RANGE SCAN          | INX_REPORTDETAIL_EN_THEDATE  | 11943 |       |    54   (0)| 00:00:01 |

14        |*  8 |       INDEX RANGE SCAN           | BID_AD_SITE                  |     1 |    64 |     1   (0)| 00:00:01 |

15        |*  9 |      TABLE ACCESS FULL           | T_CRM_CITY                   |     5 |   265 |     6   (0)| 00:00:01 |

16        |* 10 |     TABLE ACCESS BY INDEX ROWID  | T_HW_BUILDING        |     1 |    58 |     2   (0)| 00:00:01 |

17        |* 11 |      INDEX RANGE SCAN            | BUILDING_ID_IDX              |     1 |       |     1   (0)| 00:00:01 |

18        |  12 |    TABLE ACCESS BY INDEX ROWID   | T_CRM_CITY                   |     1 |    16 |     2   (0)| 00:00:01 |

19        |* 13 |     INDEX RANGE SCAN             | CITY_IDX                     |     1 |       |     1   (0)| 00:00:01 |

20        |* 14 |   FILTER                         |                              |       |       |            |          |

21        |  15 |    FAST DUAL                     |                              |     1 |       |     2   (0)| 00:00:01 |

22        -----------------------------------------------------------------------------------------------------------------

23

24        Predicate Information (identified by operation id):

25        ---------------------------------------------------

26

27           1 - filter( NOT EXISTS (SELECT /*+ */ 0 FROM "SYS"."DUAL" "DUAL" WHERE LNNVL(:B1<>'海南') AND

28                      LNNVL(:B2<>'海南')))

29           6 - filter("HWBID" IS NOT NULL AND TRIM("SITE")<>'XX' AND TRIM("SITE")<>'YY' AND TRIM("SITE")<>'ZZ'

30                      )

31           7 - access("THEDATE">=TRUNC(SYSDATE@!-7))

32           8 - access("HWBID"="G"."BUILDINGID" AND "SITE"="G"."SITE" AND "PDPSNAME"="G"."AD")

33           9 - filter(TRIM("TOUFANG_AREA")<>TRIM("C"."PROVINCE") AND TRIM("TOUFANG_AREA")<>TRIM("C"."CITY"))

34          10 - filter("B"."所在城市UID" IS NOT NULL AND "B"."项目类别"=1 AND "B"."所在城市UID"="C"."HUID")

35          11 - access("HWBID"="B"."楼盘ID")

36          13 - access("D"."CITY"(+)=TRIM("TOUFANG_AREA"))

37          14 - filter(LNNVL(:B1<>'海南') AND LNNVL(:B2<>'海南'))

不加trim的执行计划

1        Plan hash value: 2634927421

2

3        -----------------------------------------------------------------------------------------------------------------

4        | Id  | Operation                        | Name                         | Rows  | Bytes | Cost (%CPU)| Time     |

5        -----------------------------------------------------------------------------------------------------------------

6        |   0 | SELECT STATEMENT                 |                              |    18 |  5580 |  2183   (1)| 00:00:27 |

7        |*  1 |  FILTER                          |                              |       |       |            |          |

8        |*  2 |   HASH JOIN ANTI                 |                              |    18 |  5580 |  2165   (1)| 00:00:26 |

9        |*  3 |    HASH JOIN OUTER               |                              |    18 |  4428 |  2160   (1)| 00:00:26 |

10        |*  4 |     HASH JOIN                    |                              |    18 |  4140 |  2153   (1)| 00:00:26 |

11        |   5 |      TABLE ACCESS FULL           | T_CRM_CITY                   |  2176 |   112K|     6   (0)| 00:00:01 |

12        |*  6 |      HASH JOIN                   |                              |  7200 |  1244K|  2146   (1)| 00:00:26 |

13        |*  7 |       TABLE ACCESS BY INDEX ROWID| T_HW_EN |  7200 |   836K|  1935   (1)| 00:00:24 |

14        |*  8 |        INDEX RANGE SCAN          | INX_REPORTDETAIL_EN_THEDATE  | 11943 |       |    54   (0)| 00:00:01 |

15        |*  9 |       TABLE ACCESS FULL          | T_HW_BUILDING        | 31328 |  1774K|   210   (2)| 00:00:03 |

16        |  10 |     TABLE ACCESS FULL            | T_CRM_CITY                   |  2176 | 34816 |     6   (0)| 00:00:01 |

17        |* 11 |    INDEX FAST FULL SCAN          | BID_AD_SITE                  |  1069 | 68416 |     5   (0)| 00:00:01 |

18        |* 12 |   FILTER                         |                              |       |       |            |          |

19        |  13 |    FAST DUAL                     |                              |     1 |       |     2   (0)| 00:00:01 |

20        -----------------------------------------------------------------------------------------------------------------

21

22        Predicate Information (identified by operation id):

23        ---------------------------------------------------

24

25           1 - filter( NOT EXISTS (SELECT /*+ */ 0 FROM "SYS"."DUAL" "DUAL" WHERE LNNVL(:B1<>'海南') AND

26                      LNNVL(:B2<>'海南')))

27           2 - access("HWBID"="G"."BUILDINGID" AND "PDPSNAME"="G"."AD" AND "SITE"="G"."SITE")

28           3 - access("D"."CITY"(+)=TRIM("TOUFANG_AREA"))

29           4 - access("B"."所在城市UID"="C"."HUID")

30               filter(TRIM("TOUFANG_AREA")<>TRIM("C"."PROVINCE") AND TRIM("TOUFANG_AREA")<>TRIM("C"."CITY"))

31           6 - access("HWBID"="B"."楼盘ID")

32           7 - filter("SITE"<>'XX' AND "HWBID" IS NOT NULL AND "SITE"<>'YY' AND "SITE"<>'ZZ'

33                      )

34           8 - access("THEDATE">=TRUNC(SYSDATE@!-7))

35           9 - filter("B"."所在城市UID" IS NOT NULL AND "B"."项目类别"=1)

36          11 - filter("G"."SITE"<>'XX' AND "G"."SITE"<>'YY' AND "G"."SITE"<>'ZZ'

37)

38          12 - filter(LNNVL(:B1<>'海南') AND LNNVL(:B2<>'海南'))

相关文章:

oracle trim 函数很慢,加trim以后执行超慢,执行计划求解

RT,该字段未建立索引&#xff0c;以下贴出SQL,及执行计划&#xff0c;不加trim走hash join&#xff0c;求解释&#xff01; ----------------------语句如下&#xff0c;标红的字段加trim() EXPLAIN PLAN FOR select a.楼盘id, a.监测明细id, a.报告日期, a.广告位名称, …...

【Leetcode Python】

偷某间房屋时&#xff0c;累积金额等于间隔前两间房的金额加上当前房的金额数&#xff1b;不偷时&#xff0c;累计金额就等于前一间房的金额数。 状态转移方程&#xff1a;dp[i] max(dp[i-2]nums[i], dp[i-1]) 并且注意错误点&#xff1a;dp[1]有两间房时&#xff0c;初始值为…...

Ubuntu系统的k8s常见的错误和解决的问题

K8s配置的时候出现的常见问题 Q1: master节点kubectl get nodes 出现的错误 或者 解决方法&#xff1a; cat <<EOF >> /root/.bashrc export KUBECONFIG/etc/kubernetes/admin.conf EOFsource /root/.bashrc重新执行 kubectl get nodes 记得需要查看一下自己的…...

Scala学习笔记7: 对象

目录 第七章 对象1- 单例对象2- 伴生对象3- 扩展类或特质的对象4- apply方法5- 应用程序对象6- 枚举end 第七章 对象 在Scala中, 对象(Obiect) 是一个单例实例, 类似于 Java中的单例模式 ; Scala中的对象使用 object 关键字定义, 它可以包含字段、方法、初始化代码和嵌套的类…...

【Linux】进程切换环境变量

目录 一.进程切换 1.进程特性 2.进程切换 1.进程切换的现象 2.如何实现 3.现实例子 2.环境变量 一.基本概念 二.常见环境变量 三.查询常见环境变量的方法 四.和环境变量相关的命令 五.环境变量表的组织方式 六.使用系统调用接口方式查询环境变量 1.getenv 2.反思 …...

嵌入式学习记录6.6(拷贝构造/友元函数/常成员函数)

一.拷贝构造函数和拷贝赋值函数 1.1拷贝构造函数功能,格式 拷贝构造函数是一种特殊的构造函数&#xff0c;用来将一个类对象给另一个类对象初始化使用的。 1> 用一个类对象给另一个类对象初始化时&#xff0c;会自动调用拷贝构造函数。 2> 当一个类对作为函数的实参&…...

宝塔 nginx 配置负载均衡 upstream

nginx 主配置文件加入 upstream myapp1 {server 192.168.124.101:5051;server 192.168.124.102:5052;server 192.168.124.111:5050;}站点配置文件中加入 location / {proxy_pass http://myapp1;}80端口映射到外网域名配置方法 加入红框中的代码 upstream myapp3 {server 192.16…...

idea 插件推荐

idea 插件推荐 RESTFul-Tool 接口搜索Show Comment 代码注释展示translation 翻译(注释翻译)MyBatisCodeHelperPro 日志封装sql xml跳转GitToolBox 展示GIT提交Jenkins Control idea jenkins 集成Gitmoji Plus: Commit Button GIT提交moji表情 RESTFul-Tool 接口搜索 https://…...

【Linux】Linux环境基础开发工具_5

文章目录 四、Linux环境基础开发工具Linux小程序---进度条git 未完待续 四、Linux环境基础开发工具 Linux小程序—进度条 上篇我们实现了一个简易的进度条&#xff0c;不过那仅仅是测试&#xff0c;接下来我们真正的正式实现一个进度条。 接着编写 processbar.c 文件 然…...

Java Web学习笔记15——DOM对象

DOM&#xff1a; 概念&#xff1a;Document Object Model&#xff1a; 文档对象模型 将标记语言的各个组成部分封装为对应的对象&#xff1a; Document: 整个文档对象 Element&#xff1a;元素对象 Attribute&#xff1a; 属性对象 Text&#xff1a;文本对象 Comment&a…...

中电联系列一:rocket手把手教你理解中电联协议!

分享《一套免费开源充电桩物联网系统&#xff0c;是可以立马拿去商用的&#xff01;》 第1部分&#xff1a;总则 Charging and battery swap service information exchange for electric vehicles Part 1:General 前 言 T/CEC102—2016《 电动汽车充换电服务信息交换》分为四…...

(面试官问我微服务与naocs的使用我回答了如下,面试官让我回去等通知)微服务拆分与nacos的配置使用

微服务架构 正常的小项目就是所有的功能集成在一个模块中&#xff0c;这样代码之间不仅非常耦合&#xff0c;而且修改处理的时候也非常的麻烦&#xff0c;应对高并发时也不好处理&#xff0c;所以 我们可以使用微服务架构&#xff0c;对项目进行模块之间的拆分&#xff0c;每一…...

冯喜运:6.7今日黄金原油行情分析及独家操作策略

【黄金消息面分析】&#xff1a;周三&#xff08;6月5日&#xff09;&#xff0c;金价回升逾1.2%&#xff0c;收盘报每盎司2,355.49美元&#xff0c;全面收复前一交易日的跌幅。周三当天前公布的美国民间就业数据弱于预期&#xff0c;增强了美联储将在今年晚些时候降息的预期&a…...

Android 蓝牙概述

一、什么是蓝牙 蓝牙是一种短距离&#xff08;一般10m内&#xff09;无线通信技术。蓝牙技术允许固定和移动设备在不需要电缆的情况下进行通信和数据传输。 “蓝牙”这名称来自10世纪的丹麦国王哈拉尔德(Harald Gormsson)的外号。出身海盗家庭的哈拉尔德统一了北欧四分五裂的国…...

Python3 笔记:字符串的 find()、rfind()、index()、rindex()

1、find() 方法检测字符串中是否包含子字符串 str &#xff0c;如果指定 beg&#xff08;开始&#xff09; 和 end&#xff08;结束&#xff09; 范围&#xff0c;则检查是否包含在指定范围内&#xff0c;如果指定范围内如果包含指定索引值&#xff0c;返回的是索引值在字符串中…...

【研发日记】Matlab/Simulink软件优化(二)——通信负载柔性均衡算法

文章目录 前言 背景介绍 初始代码 优化代码 分析和应用 总结 前言 见《【研发日记】Matlab/Simulink软件优化(一)——动态内存负荷压缩》 背景介绍 在一个嵌入式软件开发项目中&#xff0c;需要设计一个ECU节点的CAN网路数据发送&#xff0c;需求是在500k的通信波特率上&a…...

Python 设计模式(行为型)

文章目录 策略模式场景示例 迭代器模式场景示例 访问者模式场景示例 观察者模式场景示例 命令模式场景示例 模板方法模式场景示例 模板方法模式场景示例 事件驱动模式场景示例 责任链模式场景示例 中介者模式场景示例 状态模式场景示例 策略模式 策略模式&#xff08;Strategy…...

电商API商品数据采集接口||助力电商企业采集商品大数据提高开发效率

提高开发效率&#xff1a;电商API接口允许不同的应用程序之间高效地进行交互&#xff0c;节省了大量的人力物力成本&#xff0c;使得开发者可以将更多时间和精力集中于自身的核心业务。 增加数据安全性&#xff1a;通过对数据进行安全加密&#xff0c;API接口实现了对数据的保护…...

Day34 事件聚合器实现消息过滤功能

​ 当前章节,实现了消息事件过滤功能 在上一章节中,我们发现在Login视图页和Main视图页都使用了同一个事件聚合器,导致在Login视图页发送的消息也被Main 视图主页所接收,这违反了事件传递的意图和模块化设计的原则。为了解决这个问题,我们需要为事件聚合器引入消息过滤的…...

前端 JS 经典:Reflect 本质

1. 什么是 Reflect Reflect 可以调用对象的基本方法&#xff08;内部方法&#xff09;&#xff0c;在 ES6 之前我们是没有任何方法去直接调用对象的基本方法的。只能间接调用&#xff0c;间接调用它又会给你做一些额外得事。 2. 对象的基本方法 什么是对象的基本方法呢&…...

Zebu仿真加速实战:从编译到覆盖率的芯片验证效率提升指南

1. Zebu仿真加速环境配置实战 第一次接触Zebu仿真加速器时&#xff0c;我被它复杂的编译环境折腾得够呛。记得有次项目紧急交付&#xff0c;光是解决编译问题就耗了两天。后来才发现&#xff0c;很多问题其实都有规律可循。 1.1 跨平台编译的坑与解决方案 最让人头疼的就是从…...

ERNIE-4.5-0.3B-PT Chainlit前端AI工作流:支持多步骤任务分解与自动执行

ERNIE-4.5-0.3B-PT Chainlit前端AI工作流&#xff1a;支持多步骤任务分解与自动执行 想象一下&#xff0c;你有一个智能助手&#xff0c;不仅能回答简单问题&#xff0c;还能理解复杂的多步骤任务&#xff0c;比如“帮我分析这个季度的销售数据&#xff0c;找出增长最快的产品…...

Qwen3.5-9B保姆级教程:从Conda环境到Gradio WebUI完整部署

Qwen3.5-9B保姆级教程&#xff1a;从Conda环境到Gradio WebUI完整部署 1. 项目概述 Qwen3.5-9B是一款拥有90亿参数的开源大语言模型&#xff0c;具备强大的逻辑推理、代码生成和多轮对话能力。该模型特别之处在于支持多模态理解&#xff08;图文输入&#xff09;和超长上下文…...

番茄小说下载器:打造个人数字图书馆的完整攻略

番茄小说下载器&#xff1a;打造个人数字图书馆的完整攻略 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 你是否曾遇到过网络信号不佳时无法追更小说的烦恼&#xff1f;或者希…...

Qwen3-14B私有部署商业应用:替代SaaS服务降本提效的真实测算

Qwen3-14B私有部署商业应用&#xff1a;替代SaaS服务降本提效的真实测算 1. 私有部署的商业价值 在当今企业数字化转型浪潮中&#xff0c;大语言模型的应用已经成为提升效率的关键工具。然而&#xff0c;依赖第三方SaaS服务不仅成本高昂&#xff0c;还存在数据安全和响应速度…...

Qwen3-14B WebUI定制教程:更换主题、添加历史记录、导出对话功能

Qwen3-14B WebUI定制教程&#xff1a;更换主题、添加历史记录、导出对话功能 1. 准备工作与环境检查 在开始定制Qwen3-14B的WebUI之前&#xff0c;我们需要确保环境已经正确配置并运行。以下是准备工作步骤&#xff1a; 1.1 确认镜像版本与硬件配置 首先检查您的环境是否符…...

【Java等保三级最小可行合规方案】:从Spring Boot 2.7到3.2,仅需修改8处配置+3个注解

第一章&#xff1a;Java等保三级合规的底层逻辑与演进脉络等保三级&#xff08;GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》&#xff09;对Java应用系统提出了覆盖“安全物理环境、安全通信网络、安全区域边界、安全计算环境、安全管理中心”五大层面的强制性约…...

CAM++说话人识别系统优化指南:调整相似度阈值提升准确率

CAM说话人识别系统优化指南&#xff1a;调整相似度阈值提升准确率 1. 相似度阈值的基础认知 1.1 什么是相似度阈值 在CAM说话人识别系统中&#xff0c;相似度阈值是一个关键参数&#xff0c;用于判断两段语音是否来自同一说话人。系统会计算两段语音特征的余弦相似度&#x…...

Wan2.2-I2V-A14B企业应用:合规可控的AI视频生成私有云部署方案

Wan2.2-I2V-A14B企业应用&#xff1a;合规可控的AI视频生成私有云部署方案 1. 企业级视频生成解决方案概述 在当今内容创作需求爆炸式增长的环境下&#xff0c;企业面临着视频制作成本高、周期长的挑战。Wan2.2-I2V-A14B私有部署镜像提供了一套完整的解决方案&#xff0c;让企…...

别再傻傻分不清了!手把手教你选对安规电容(X1/X2/Y1/Y2等级详解)

电子工程师必读&#xff1a;安规电容X/Y等级实战选型指南 当你在设计一款家用空气净化器的开关电源时&#xff0c;突然发现EMC测试总是不达标&#xff1b;当你维修一台工业变频器时&#xff0c;发现安规电容爆裂导致设备瘫痪——这些场景背后&#xff0c;往往隐藏着对X1/X2/Y1/…...