T-SQL Przeszukiwanie XML

0

Witam,

Mam sobie bazę (SQL Server 2008 R2) logów w której przechowuje wszystkie zapytania SOAP jakie przychodzą z różnych systemów plus data, czas i parę innych danych. Pięknie ładnie zrobiłem sobie kolumnę z typem xml w której trzymam zapytania. I trafia mnie szlak jak mam coś w tym wyszukać i teraz pytanie czy da się to jakoś usprawnić zapytania tworzę tak jak tutaj opisano http://msdn.microsoft.com/en-us/library/ms190798.aspx

Jak nawet dam ograniczenie za pomocą daty zapytanie wykonuje się strasznie długo.
I czy macie jakieś propozycje jak by to można usprawnić po stronie bazy danych?

Bo jedyny pomysł jaki ja mam to po stronie kodu przed zapisem do bazy wyciągać z zapytań unikalny klucz i zapisywać go osobno i po nim znajdować zapytanie które mnie interesuje. :)

Jakiś pomysły?

EDIT: Jeszcze statystyka w ciągu 10 minut leci jakiś od 200 do 500 zapytań.

1

Xquery będzie zarzynać bazę i nic na to się nie poradzi.
Co najwyżej można w ramach optymalizacji podać jak najdokładniejszą ścieżkę w strukturze do wartości.

Jeżeli te xml zawierają takie same obiekty to opłacalnym jest napisanie deserializatora i przy pomocy pagowania pobierać z DB xml, a następnie deserializować i wyszukiwać wartości.

Przy mieleniu 15000 xml dziennie do raportu zmniejszyło to u mnie czas wykonania z 30 minut do 7 :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1