2021-07-30
请大家帮我看看这个sql语句慢在哪了?
SQL文本: update (select a.IS_NEW_VER, a.update_time from T_DOC_RELA a inner join T_DOC_INFO b on a.doc_id = b.doc_id where a.prj_id = :1 and a.UPLOAD_NODE_ID = :2 and b.doc_name = :3 and b.doc_type = :4) t set t.IS_NEW_VER = 0, t.update_time = sysdate ------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ------------------------------------------------------------------------------------------------------ | 0 | UPDATE STATEMENT | | | | 13 (100)| | | 1 | UPDATE | T_DOC_RELA | | | | | | 2 | NESTED LOOPS | | 1 | 192 | 13 (0)| 00:00:01 | | 3 | NESTED LOOPS | | 1 | 192 | 13 (0)| 00:00:01 | |* 4 | TABLE ACCESS BY INDEX ROWID| T_DOC_INFO | 1 | 104 | 7 (0)| 00:00:01 | |* 5 | INDEX RANGE SCAN | IDX_DOC_NAME | 2 | | 5 (0)| 00:00:01 | |* 6 | INDEX RANGE SCAN | IDX_DOC_RELA_DOC_ID | 1 | | 4 (0)| 00:00:01 | |* 7 | TABLE ACCESS BY INDEX ROWID | T_DOC_RELA | 1 | 88 | 6 (0)| 00:00:01 | ------------------------------------------------------------------------------------------------------
复制
我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
回答交流
Markdown
请输入正文
提交
相关推荐
一个 sql 数据库, select 正常, update ,即使我只 update 一个字段, 字符型 或 日期这些都不行
回答 4
哪里不行?
选择的日期是2021年9月11号早上10点之前的日期,但是结果15行把2021年9月11号早上10点给算进去了
回答 1
你看一下你行,不经过转换的原值呢?
这题选什么呢
回答 1
已采纳
C
MySQL转储表数据太多导致卡住,怎么转储成多个SQL文件?
回答 1
试试用mysqldump导出
请教高手这个SQL语句怎么写?
回答 3
已采纳
用管道函数可以解决
mysql自查询中有主键使用in和主键使用=的区别
回答 3
外表和子查询的表都是t所以我们从语句中无法看出是关联子查询还是非关联子查询
我做了一些测试(表空间的备份还原),但没有成功恢复
回答 1
已采纳
DM8数据库??DM8表空间的恢复会自动应用归档恢复到最新状态。drop表不能使用表空间恢复,应使用库的不完全恢复,恢复到删除前的指定时间点。
比较长的sql,格式如: select distinct * from (select 1000+个字段的子查询),该sql在一个服务器上运行正常,在另外一个服务器运行时报:too many columns,如果去掉distinct又可以正常运行。
回答 2
很大可能性是你oracle数据库的版本不同
查询存在有85分以上成绩的课程Cno.
回答 1
sqlselectscofromteacher,score,coursewhereteacher.tnocourse.tnoandcourse.cnoscore.cnoandteacher.depar
SQL优化改写
回答 2
oracle的优化器会根据不同的数据分布, 生成对应的执行计划, 不需要改写: 场景1的执行计划应该是b去重后Nested loopsa; 
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~