Welcome to Sign in | Help

Re: optimizare t-sql sql server 2000

  •  10-18-2008, 10:26 PM

    Re: optimizare t-sql sql server 2000

    Potzi sa setezi SET STATISTICS IO ON si sa rulezi, apoi sa postezi rezultatul? Deasemenea DDL-ul complet pentru DATA..LGX si DATA..TBL_ACC.

    In primul rind schimba @data in DATETIME.

    Din cite inteleg eu primul insert scaneaza complet DATA..LGX si din cele 30 mil. de inregistrari candidat, 23 mil. se califica sa fie inserate. Potzi sa te uitzi in planul de executie si sa ne spui ce metoda de access este aleasa pentru DATA..LGX? Ma astept ca este un clustered index scan. Daca tabela DATA..LGX este 'larga' (multe cimpuri, fiecare record are sute de bytes) atunci te-ar putea ajuta un covering index pe JDATA cu CUSTOMER si CZL included (acest index ar reduce numarul de pagini scanate). Daca LGX are recorduri mici, atunci te-ar putea ajuta sa-l organizezi sa fie clustered dupa JDATA (dar asta are implicatzii in alte operatiuni care le faci pe LGX care nu le putem stii din post).

    A doua problema este al doilea insert, care banuiesc ca se face ca un nested loop (pentru fiecare TBL_ACC se scaneaza complet #tmp_LGX). Recomandarea mea ar fi sa adaugi un index pe #tmp_LGX pe CustomerCode, sau declara tabela #tmp_LGX ca fiind clustered dupa CustomerCode. Acest index ar ajuta foarte mult nested loop-ul respectiv. Trebuie sa experimentezi aici, sa vezi cum afecteaza primul insert, poate e mai bine sa lasi #tmp_LGX ca heap la inceput si apoi s-o convertesti intr-un cluster pe CustomerCode.

    http://rusanu.com
View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems