Offer项目SQL性能报告-左小龙.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Offer项目SQL性能报告-左小龙

Offer项目SQL性能报告左小龙本报告分为三个部分,前两部分分别从代码分析和压力测试分析,第三部分总结发现的问题和建议。一、PL/SQL包和视图代码技术分析本报告依据svn版本号12679的代码,2012年8月20日下午8030数据库,进行分析,包括包CUX_HCM_OFFER_UTIL和视图AD_PER_OFFER_TEMPLATE_V。首先对视图进行分析,该项目只有一个视图,该视图对FND_LOOKUP_VALUES进行查询,没有关联其他表,执行计划使用了LOOKUP_TYPE字段上的复合索引,而且该视图的结果只有几条数据,不存在性能问题。CUX_HCM_OFFER_UTIL包中有10个存储过程和11个函数,对代码中的SQL代码逐一分析如下:1、function get_offer_lookup_meaning(p_lookup_type in varchar2, p_lookup_code in varchar2)return varchar2该函数中对offer_lookup进行条件查询,8030上的执行计划显示使用了其item_type上的索引。2、function get_user_name_by_person_name(p_person_name in varchar2)return varchar2该函数中对per_all_people_f papf, fnd_user fu进行了关联查询,关联条件均有索引,不存在索引被抑制的情况,执行计划显示使用索引扫描,没有问题。3、procedure add_user_apply_to_nitification(p_apply_id in number)该过程对offer_user_apply 使用了条件查询和更新,均使用了ID主键索引,不存在性能问题。4、procedure update_user_apply_notification(p_apply_id in number, p_grant_role in varchar2)该过程中对cux_all_notifications的查询使用了全表扫描,该表其实可以加索引和主键,目前看该表未加任何索引和主键,不过该表不属于Offer项目建的表,所以这里根据情况处理。5、FUNCTION find_code_from_hr_by_meaning(v_meaning in varchar2, v_lookup_type in varchar2)RETURN VARCHAR2该函数对HR_LOOKUPS视图进行查询,使用了FND_LOOKUP_VALUES上的索引。6、function get_location_name_by_id(p_location_id in number) return varchar2该函数对cux_hr_locations_v进行查询,使用了HR_LOCATIONS_ALL上的主键索引。7、function get_building_name_by_id(p_building_id in number) return varchar2该函数同上。8、function get_organization_name_by_id(p_organization_id in number)return varchar2SQL如下:select v.organization_name /*, p.full_name*/ into l_organization_name from (select organization_id, name organization_name, attribute6 from apps.cux_hr_change_departments_v where trunc(sysdate) = nvl(date_to, to_date(2047-12-31, YYYY-MM-DD)) and business_group_id = 0) v, (select o.organization_id, p.full_name from HR_ORGANIZATION_UNITS_V o, (select p.person_id, p.full_name from per_all_people_f p where trunc(sysdate) between p.effective_start_date and p.effective_end_date) p where trunc(sysdate) = nvl(o.date_to, to_date(2047-12-31, YYYY-MM-DD)) and o.attribute13 = p.person_id(+)) p where v.orga

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档