update优化一条。
原语句 update HAHA a set (td03_flag) = (select td03_flag from z_temp1 b where a.user_id = b.user_id and lx = pz) Plan hash value: 1855602026 SQL_ID 62h7a9s7yyr18, child number 0------------------------------------- update HAHA a set (td03_
原语句
update HAHA a set (td03_flag) = (select td03_flag
from z_temp1 b where a.user_id = b.user_id and lx = 'pz')Plan hash value: 1855602026
SQL_ID 62h7a9s7yyr18, child number 0 ------------------------------------- update HAHA a set (td03_flag) = (select td03_flag from z_temp1 b where a.user_id = b.user_id and lx = 'pz') Plan hash value: 1855602026 ------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ------------------------------------------------------------------------------------------------------------- | 0 | UPDATE STATEMENT | | | | 8720M(100)| | | 1 | UPDATE | HAHA | | | | | | 2 | TABLE ACCESS FULL | HAHA | 2094K| 51M| 5404 (3)| 00:01:05 | | 3 | TABLE ACCESS BY INDEX ROWID | Z_TEMP1 | 24383 | 714K| 4163 (2)| 00:00:50 | | 4 | BITMAP CONVERSION TO ROWIDS | | | | | | | 5 | BITMAP AND | | | | | | | 6 | BITMAP CONVERSION FROM ROWIDS| | | | | | |* 7 | INDEX RANGE SCAN | Z_TEMP1_U | 2438K| | 3 (0)| 00:00:01 | | 8 | BITMAP CONVERSION FROM ROWIDS| | | | | | |* 9 | INDEX RANGE SCAN | Z_TEMP1_L | 2438K| | 4108 (2)| 00:00:50 | ------------------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 7 - access("B"."USER_ID"=:B1) 9 - access("LX"='pz') 我们可以看第7步的谓词7 - access("B"."USER_ID"=:B1) 这种:B1 是一个变量,变量就有输入源,这里的变量的输入源就是第2步中的每一行
我们就可以简单理解为,就是第2步有多少条语句,第三步就要执行多少次(7是第三步的子步骤,从这一步开始,一直执行完整个 第3步) 这种行为即是Nested loop。
虽然这里有索引,但这里的整个过程,是 两个位图索引 bitmap and,并且会回表,都是单块读,其中回表的单块读在这里占大头(每次都有24383个单块读)的。 我们从统计信息看到 步骤2 有2094K 行 我们可以简单认为, 第三步 这个整个步骤(bitmap and +回表) 被整个执行了 2094K即200多万次。 不慢才怪优化后语句
explain plan for merge into HAHA a
using (select td03_flag, user_id
from z_temp1 b
where user_id in (select user_id
from HAHA where lx='pz')
) h
on (a.user_id = h.user_id)
when matched then
update set a.td03_flag = h.td03_flag;
这里需要创建两个索引
create index HAHA_IDX on HAHA(lx,user_id) ;
create index z_temp1_ind_uidtd03 on z_temp1(userid,td03_flag) ;
优化前SQL2个小时还没跑完
之后虽然执行时间对方没有反馈,但对方也没有再喊叫 看来满足需求了:)
优化虽易,乙方不易,且行且珍惜

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

时间复杂度衡量算法执行时间与输入规模的关系。降低C++程序时间复杂度的技巧包括:选择合适的容器(如vector、list)以优化数据存储和管理。利用高效算法(如快速排序)以减少计算时间。消除多重运算以减少重复计算。利用条件分支以避免不必要的计算。通过使用更快的算法(如二分搜索)来优化线性搜索。

经过多次预发布后,KDE Plasma 开发团队于 2 月 28 日推出了适用于 Linux 和 BSD 系统的 6.0 版桌面环境,首次使用 Qt6 框架。 KDE Plasma 6.1 现在附带了许多新功能

我们在使用win10系统的时候有时候会遇到电脑变得卡顿的情况,然后我们在查看后台进程的时候会发现一个Microsoftcompatibilitytelemetry的进程占用资源特别的高,那么这是怎么回事?用户们可以尝试卸载三方防护软件后尝试干净启动来进行操作,下面就让本站来为用户们来仔细的介绍一下Microsoftcompatibilitytelemetry占用高CPU的解决方法吧。Microsoftcompatibilitytelemetry占用高CPU的解决方法方法一:卸载三方防护软件后尝试

Laravel性能瓶颈揭秘:优化方案大揭秘!随着互联网技术的发展,网站和应用程序的性能优化变得愈发重要。作为一款流行的PHP框架,Laravel在开发过程中可能会面临性能瓶颈。本文将探讨Laravel应用程序可能遇到的性能问题,并提供一些优化方案和具体的代码示例,让开发者能够更好地解决这些问题。一、数据库查询优化数据库查询是Web应用中常见的性能瓶颈之一。在

Fitbit Ace LTE 于 5 月正式推出,但目前仅在美国销售。这款智能手表专门针对儿童,他们可以通过更积极的生活方式获得游戏奖励,而父母则可以随时监控他们的情况

1、在桌面上按组合键(win键+R)打开运行窗口,接着输入【regedit】,回车确认。2、打开注册表编辑器后,我们依次点击展开【HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer】,然后看目录里有没有Serialize项,如果没有我们可以单击右键Explorer,新建项,并将其命名为Serialize。3、接着点击Serialize,然后在右边窗格空白处单击鼠标右键,新建一个DWORD(32)位值,并将其命名为Star

PHP函数效率优化的五大方法:避免不必要的变量复制。使用引用以避免变量复制。避免重复函数调用。内联简单的函数。使用数组优化循环。

三星为 Galaxy Watch 用户提供了通过 One UI 6 Watch Beta 计划体验新的健康和睡眠跟踪功能的机会。这最初适用于 Galaxy Watch6(它打破了我们的显示屏亮度测试)和 Watch6 Classi
