简体   繁体   中英

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 OUTER 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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM