设为首页 加入收藏

TOP

再一次利用withas优化SQL(三)
2014-11-24 07:22:26 来源: 作者: 【 】 浏览:17
Tags:一次 利用 withas 优化 SQL
reUnitID "ENTRYMEASUREUNIT.ID", "ASSISTRECORDS".FID "ASSISTRECORDS.ID", "ASSISTRECORDS".FSeq "ASSISTRECORDS.SEQ", CASE WHEN (("ACCOUNT".FCAA IS NULL) AND ("ACCOUNT".FhasUserProperty <> 1)) THEN "ENTRIES".FOriginalAmount ELSE "ASSISTRECORDS".FOriginalAmount END "ASSISTRECORDS.ORIGINALAMOUNT", CASE WHEN (("ACCOUNT".FCAA IS NULL) AND ("ACCOUNT".FhasUserProperty <> 1)) THEN "ENTRIES".FLocalAmount ELSE "ASSISTRECORDS".FLocalAmount END "ASSISTRECORDS.LOCALAMOUNT", CASE WHEN (("ACCOUNT".FCAA IS NULL) AND ("ACCOUNT".FhasUserProperty <> 1)) THEN "ENTRIES".FReportingAmount ELSE "ASSISTRECORDS".FReportingAmount END "ASSISTRECORDS.REPORTINGAMOUNT", CASE WHEN (("ACCOUNT".FCAA IS NULL) AND ("ACCOUNT".FhasUserProperty <> 1)) THEN "ENTRIES".FQuantity ELSE "ASSISTRECORDS".FQuantity END "ASSISTRECORDS.QUANTITY", CASE WHEN (("ACCOUNT".FCAA IS NULL) AND ("ACCOUNT".FhasUserProperty <> 1)) THEN "ENTRIES".FStandardQuantity ELSE "ASSISTRECORDS".FStandardQuantity END "ASSISTRECORDS.STANDARDQTY", CASE WHEN (("ACCOUNT".FCAA IS NULL) AND ("ACCOUNT".FhasUserProperty <> 1)) THEN "ENTRIES".FPrice ELSE "ASSISTRECORDS".FPrice END "ASSISTRECORDS.PRICE", CASE WHEN ("ACCOUNT".FCAA IS NULL) THEN NULL ELSE "ASSISTRECORDS".FAssGrpID END "ASSGRP.ID" FROM T_GL_Voucher "VOUCHER" LEFT OUTER JOIN T_BD_Period "PERIOD" ON "VOUCHER".FPeriodID = "PERIOD".FID INNER JOIN T_GL_VoucherEntry "ENTRIES" ON "VOUCHER".FID = "ENTRIES".FBillID INNER JOIN T_BD_AccountView "ACCOUNT" ON "ENTRIES".FAccountID = "ACCOUNT".FID LEFT OUTER JOIN T_GL_VoucherAssistRecord "ASSISTRECORDS" ON "ENTRIES".FID = "ASSISTRECORDS".FEntryID WHERE "VOUCHER".FID IN (select id from x) ORDER BY "ID" ASC, "ENTRIES.SEQ" ASC, "ASSISTRECORDS.SEQ" ASC ---======执行计划 ------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| ------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 24 | 11208 | 506 (1)| | 1 | TEMP TABLE TRANSFORMATION | | | | | | 2 | LOAD AS SELECT | SYS_TEMP_0FD9D6853_1AD5C99D | | | | | 3 | HASH JOIN | | 1 | 415 | 458 (1)| | 4 | NESTED LOOPS | | | | | | 5 | NESTED LOOPS | | 258 | 83850 | 390 (0)| | 6 | NESTED LOOPS | | 6 | 1332 | 3 (0)| | 7 | TABLE ACCESS BY INDEX ROWID| T_BD_ACCOUNTVIEW | 1 | 111 | 2 (0)| | 8 | INDEX UNIQUE SCAN | PK_BD_ACCOUNTVIEW | 1 | | 1 (0)| | 9 | INDEX RANGE SCAN | IX_BD_ACTCOMLNUM | 6 | 666 | 1 (0)| | 10 | INDEX RANGE SCAN | IX_GL_VCHAACCT | 489 | | 1 (0)| | 11 | TABLE ACCESS BY INDEX ROWID | T_GL_VOUCHERENTRY | 42 | 4326 | 65 (0)| | 12 | INDEX RANGE SCAN | IX_GL_VCH_11 | 7536 | 662K| 68 (0)| | 13 | SORT ORDER BY | | 24 | 11208 | 48 (5)| | 14 | NESTED LOOPS OUTER | | 24 | 11208 | 47 (3)| | 15 | NESTED LOOPS | | 17 | 6086 | 21 (5)| | 16 | NESTED LOOPS | | 17 | 5253 | 13 (8)| | 17 | NESTED LOOPS OUTER | | 1 | 121 | 5 (20)| | 18 | NESTED LOOPS | | 1 | 87 | 4 (25)| | 19 | VIEW | VW_NSO_1 | 1 | 29 | 2 (0)| | 20 | HASH UNIQUE | | 1 | 24 | | | 21 | VIEW | | 1 | 24 | 2 (0)| | 22 | TABLE ACCESS FULL | SYS_TEMP_0FD9D6853_1AD5C99D | 1 | 29 | 2 (0)| | 23 | INDEX RANGE SCAN | IX_
首页 上一页 1 2 3 4 下一页 尾页 3/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇数据库优化实践【性能检测工具篇】 下一篇SQLServer2012AlwaysOnGroup使用I..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 集合框架 - 菜 (2025-12-27 02:19:36)
·Java集合框架最全详 (2025-12-27 02:19:33)
·为什么安卓开发要用J (2025-12-27 02:19:30)
·C/C++ 类模板与模板 (2025-12-27 01:49:52)
·C语言 模板化<templ (2025-12-27 01:49:49)