开发者

Sql code help in Visual Studio 2008

I'm new to visual studio 2008 and sql, little under 2 weeks now. Was hoping someone can help clean up my code. This is a large database and can pull back 6000+ pages. This code works with smaller call backs but on the larger ones hangs.

SELECT   vRTCAttStatusDaily.yr_cde,   
         vRTCAttStatusDaily.trm_cde,   
         vRTCAttStatusDaily.crs_cde,
         vRTCAttStatusDaily.clean_crs_cde,   
         vRTCAttStatusDaily.id_num,   
         vRTCAttStatusDaily.firstname,   
         vRTCAttStatusDaily.lastname,   
         vRTCAttStatusDaily.middlename,   
         name_master.first_name,   
         name_master.last_name,   
         address_master.phone,   
         stud_term_sum_div.udef_1a_1,   
         table_detail.table_desc,   
         vrtcreauthorizationstatus.authorization_status,   
         section_master.division_cde,   
         degree_history.major_1,   
         vRTCAttStatusDaily.StartDate,  
         vRTCAttStatusDaily.cleanclassdate,
         vRTCAttStatusDaily.attend_status,
     stud_term_sum_div.id_num AS id_num2



    FROM {oj vRTCAttStatusDaily LEFT OUTE开发者_如何学运维R JOIN vrtcreauthorizationstatus ON vRTCAttStatusDaily.id_num = vrtcreauthorizationstatus.id_num LEFT OUTER JOIN section_master ON vRTCAttStatusDaily.yr_cde = section_master.yr_cde AND vRTCAttStatusDaily.trm_cde = section_master.trm_cde AND vRTCAttStatusDaily.crs_cde = section_master.crs_cde},   
         faculty_load_table,   
         name_master,   
         address_master,   
         stud_term_sum_div,   
         table_detail,   
         degree_history

   WHERE ( vRTCAttStatusDaily.yr_cde = faculty_load_table.yr_cde ) and  
         ( vRTCAttStatusDaily.trm_cde = faculty_load_table.trm_cde ) and  
         ( vRTCAttStatusDaily.crs_cde = faculty_load_table.crs_cde ) and  
         ( faculty_load_table.instrctr_id_num = name_master.id_num ) and  
         ( vRTCAttStatusDaily.id_num = stud_term_sum_div.id_num ) and  
         ( vRTCAttStatusDaily.yr_cde = stud_term_sum_div.yr_cde ) and  
         ( vRTCAttStatusDaily.trm_cde = stud_term_sum_div.trm_cde ) and  
         ( stud_term_sum_div.udef_1a_1 = table_detail.table_value ) and  
         ( vRTCAttStatusDaily.id_num = address_master.id_num ) and  
         ( vRTCAttStatusDaily.id_num = degree_history.id_num ) and  
         ( ( faculty_load_table.lead_instrctr_flg = 'Y' ) AND  
         ( address_master.addr_cde = '*LHP' ) AND  
         ( table_detail.column_name = 'rtc_enroll_sts' ) AND  
         ( vRTCAttStatusDaily.yr_cde IN (@Year)) AND 
         ( vRTCAttStatusDaily.trm_cde IN (@Term)) AND
           degree_history.cur_degree = 'Y' )

ORDER BY address_master.id_num,
     vRTCAttStatusDaily.startdate,
     vRTCAttStatusDaily.clean_crs_cde

Any tips would be appreciated.


Ok, it turns out the code written for vrtcattstatusdaily called on itself basically twice. Not much I could do about that, but removing faculty_table_load from the query made it work properly. It now can pull 289k rows in roughly 1.4 mins. Thanks Biggs

Here is the thread when it was moved to codereview https://codereview.stackexchange.com/questions/2783/sql-code-help-in-visual-studio-2008

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜