12
返回列表 发新帖
楼主: czxin788

oracle慢sql的where条件都是冒号加数字,怎么办

[复制链接]
论坛徽章:
314
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
11#
发表于 2020-10-26 13:51 | 只看该作者
explain plan for UPDATE PEXAM_ITEMS_TITLE SET REPORT_IMAGE1_URL = :1 WHERE ITEMUUID = :2;
select * from table(dbsm_xplan.display);

explain plan for UPDATE exem_post SET patientid = :1, pname = :2, rpttime = :3, examPara = :4, impression = :5, description = :6, recommendation = :7, isabnormal = :8, rptdtname = :9, ckdtname = :10, exemposition = :11, ckdttime = :12, accessionno = :13 WHERE orderno = :14 and exempostid = :15

select * from table(dbsm_xplan.display);


能否解析SQL语句,与有无绑定变量值没关系,

使用道具 举报

回复
论坛徽章:
5
优秀写手
日期:2013-12-19 06:00:132014年新春福章
日期:2014-02-18 16:50:09马上有车
日期:2014-02-18 16:50:09暖羊羊
日期:2015-03-04 14:54:572015年新春福章
日期:2015-03-06 11:59:47
12#
 楼主| 发表于 2020-10-26 15:36 | 只看该作者
本帖最后由 czxin788 于 2020-10-26 15:42 编辑
ZALBB 发表于 2020-10-26 13:51
explain plan for UPDATE PEXAM_ITEMS_TITLE SET REPORT_IMAGE1_URL = :1 WHERE ITEMUUID = :2;select * fr ...

感谢,可以解析,学到了。接下来,就要分析死锁的原因了。
SQL> explain plan for UPDATE exem_post SET patientid = :1, pname = :2, rpttime = :3, examPara = :4, impression = :5, description = :6, recommendation = :7, isabnormal = :8, rptdtname = :9, ckdtname = :10, exemposition = :11, ckdttime = :12, accessionno = :13 WHERE orderno = :14 and exempostid = :15;

Explained.



SQL> select * from table(dbms_xplan.display);

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 732283317

--------------------------------------------------------------------------------------------------------
| Id  | Operation                     | Name                       | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------------------------
|   0 | UPDATE STATEMENT             |                               |     1 |   417 |     2         (0)| 00:00:01 |
|   1 |  UPDATE                      | EXEM_POST               |       |       |            |               |
|*  2 |   TABLE ACCESS BY INDEX ROWID| EXEM_POST               |     1 |   417 |     2         (0)| 00:00:01 |
|*  3 |    INDEX RANGE SCAN             | INDEX_EXEM_POST_ORDERNO |     1 |       |     1         (0)| 00:00:01 |
--------------------------------------------------------------------------------------------------------
PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------

   2 - filter("EXEMPOSTID"=:15)
   3 - access("ORDERNO"=:14)

16 rows selected.


SQL> explain plan for UPDATE PEXAM_ITEMS_TITLE SET REPORT_IMAGE1_URL = :1 WHERE ITEMUUID = :2;

Explained.

SQL> select * from table(dbms_xplan.display);

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 2226390536

------------------------------------------------------------------------------------------
| Id  | Operation          | Name                 | Rows  | Bytes | Cost (%CPU)| Time         |
------------------------------------------------------------------------------------------
|   0 | UPDATE STATEMENT  |                         |     1 |    35 |     4   (0)| 00:00:01 |
|   1 |  UPDATE           | PEXAM_ITEMS_TITLE         |         |         |              |          |
|*  2 |   INDEX RANGE SCAN| INDEX_PEXAM_ITEMUUID |     1 |    35 |     3   (0)| 00:00:01 |
------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------

   2 - access("ITEMUUID"=:2)

14 rows selected.

使用道具 举报

回复
论坛徽章:
314
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
13#
发表于 2020-10-26 19:20 | 只看该作者
语句的执行计划很好,所以死锁原因,更多的是用代码实现业务逻辑时设计的问题,

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
14#
发表于 2020-10-26 20:29 | 只看该作者
看上去是主外键的问题.

使用道具 举报

回复
论坛徽章:
8
2009新春纪念徽章
日期:2009-01-04 14:52:28祖国60周年纪念徽章
日期:2009-10-09 08:28:002010新春纪念徽章
日期:2010-03-01 11:07:24ITPUB9周年纪念徽章
日期:2010-10-08 09:32:25ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262013年新春福章
日期:2013-02-25 14:51:24沸羊羊
日期:2015-03-04 14:51:522015年新春福章
日期:2015-03-06 11:57:31
15#
发表于 2020-11-9 16:41 | 只看该作者
1、mysql中的绑定变量并没那么好用,所以,很多人不会用;
2、楼主这个,应该是个循环死锁,排查起来可能没那么简单和直接。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表