Welcome to Sign in | Help

Concatenare randuri pentru o coloana in view - probleme performanta

  •  06-23-2009, 9:54 AM

    Concatenare randuri pentru o coloana in view - probleme performanta

    Salutare,

    Problema mea este urmatoarea :

    Am un tabel Client, care are mai multe Address si fiecare adresa are unul sau mai multe tipuri AddressType. Acum, se vrea o data afisarea in tabelul de clienti a tuturor AddressType-urilor pe care le are setate pe adresele sale. Iar mai apoi trebuie sa filtrez clienti dupa AddressType.

    Am facut astfel :

    AllAddressTypesNames = REPLACE(
        (
        SELECT
            at.[AddressTypeName] AS [data()]
        FROM
            AddressType at
        WHERE AddressTypeId in
        (       
            select AddressTypeId
            from [Address] a
           
            join AddressXAddressType as axa on axa.AddressId = a.AddressId
                   
            where a.ClientId = dbo.Client.ClientId
        ) FOR XML PATH ('') ), ' ', ',')

    Mai sus e doar o protiune din view , mai sunt vreo cateva coloane care se concateneaza tot in stilul acesta iar tabelul are vreo 1500 inregistrari.
    Problema este ca dureaza destul de mult.
    Am pus SET STATISTICS IO ON si ce sare in ochi ar fi :

    Table 'Worktable'. Scan count 1467, logical reads 326676,
    Table 'Client'. Scan count 2923, logical reads 374144,
    Daca scot concatenarile , pe Worktable cifrele sunt similare, dar pe client scade logical reads la vreo 200 si se misca simtitor mai rapid. Am alta posibilitate sa concatenez acele coloane ? sa mai imbunatatesc performanta un pic ?
View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems