资源描述:
《SQL 脚本优化方案.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据库性能优化方案脚本优化优化前SQLSQL脚本selecttb.c_id,tb.c_task_cde,tb.c_task_nme,tb.c_clnt_nme,tb.c_mobile,tb.c_city,to_char(ta.c_task_tm,'yyyy-mm-ddhh24:mi:ss')asc_task_tm,tb.c_province,(selectdistinctnamefromsys_userwhereloginname=ta.c_task_found)asc_task_found,ta.c_task_nature_mrk,(selectdistinctnamefroms
2、ys_userwhereloginname=ta.c_task_appoint_nme)asc_task_appoint_nme,tb.c_clnt_cde,tb.c_call_mrk,tb.c_ser_mrk,hccs.srcasc_task_aount,rwpfcs.strashistory_track_count,to_char(tb.t_crt_tm,'yyyy-mm-ddhh24:mi:ss')ast_crt_tmfromtb_task_basetb,tb_task_assignta,(selecttkb.c_mobile,(selectcount(tchr.c_task
3、_cde)fromtb_call_history_recordtchrwheretchr.c_del='1'andtchr.c_mobile=tkb.c_mobileandtchr.c_task_cde=tkb.c_task_cdeandtchr.c_clnt_cde=tkb.c_clnt_cde)assrc,rowidasrowcodefromtb_task_basetkbwheretkb.c_del='1'andtkb.c_task_mrk='1')hccs,(selectttbs.c_id,(selectcount(tods.c_task_cde)fromtb_operate
4、_deltodswheretods.c_del='1'andtods.c_task_cde=ttbs.c_task_cdeandtods.c_mobile=ttbs.c_mobileandtods.c_operate_mrk='8'andtods.c_fk_task_id=ttbs.c_id)asstr,rowidasrowcodefromtb_task_basettbswherettbs.c_del='1'andttbs.c_task_mrk='1')rwpfcswheretb.c_del='1'andta.c_del='1'andrwpfcs.rowcode=tb.rowida
5、ndta.c_fk_task_id=tb.c_idandhccs.rowcode=tb.rowidandtb.c_task_mrkin(1,8)andexists(selectnullfromsys_dutyd,sys_useru,sys_r_duty_agencyrda,sys_r_user_duty_agencyrudawhered.status='1'andu.status='1'andta.c_crt_cde=u.idandd.id=rda.dutyidandrda.id=ruda.agency_duty_idandruda.userid=u.idandd.marktype
6、='3')andhccs.src='0'andrwpfcs.str='0'orderbytb.c_task_cdedesc执行效率,逻辑读分析,问题描述(1)优化前SQL逻辑读性能截图(2)逻辑读分析:该语句在数据库中执行后的逻辑读数据行为rowsprocessed:42,消耗逻辑读为:consistentgets:11150,优化前的每行逻辑读占用为:consistentgets/rowsprocessed,通过该公式获得每行逻辑读占用为265,该效率不满足正常性能需要。(3)问题描述:该查询产生大量的逻辑读的原因是由于SQL语句中有过多而复杂的子查询;在开发库上的数据量仅为50
7、左右,所以无法测试该问题。该SQL是电销系统系统上线以来一直存在,随着数量的增大,消耗数据读也会随之增加,性能会相应下降。测试环境说明测试数据库:数据库用户名SQL涉及的相关表及数据量:tb_task_base表数据量为:138636tb_task_assign表数据量为:53tb_operate_del表数据量为:76tb_call_history_record表数据量为:0sys_duty表数据量为:4sys_user表数据量为:51sys_r_duty_agen