Definiowanie zapytania elementu roboczego
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Zapytania dotyczące elementów roboczych w usłudze Azure Boards generują listy elementów roboczych na podstawie podanych przez Ciebie kryteriów filtrowania. Te zarządzane zapytania można zapisywać i udostępniać innym osobom.
Zapytania można tworzyć z poziomu portalu internetowego lub z obsługiwanego klienta, takiego jak Visual Studio Team Explorer. Aby obsługiwać aktualizacje zbiorcze lub dodatki, zaimportuj lub eksportuj zapytania przy użyciu programu Excel lub plików .csv.
Uwaga
Obrazy przeglądarki używane w tym artykule pochodzą z funkcji New Boards Hubs, która jest domyślnie włączona. Jeśli ta funkcja nie jest włączona, być może używasz poprzedniego środowiska tablic. Aby wyświetlić obrazy dla poprzedniego środowiska, wybierz wersję tego artykułu azure DevOps Server 2022.
Zapoznaj się z naszymi zalecanymi najlepszymi rozwiązaniami w dalszej części tego artykułu.
Wymagania wstępne
- Poziomy dostępu:
- Aby wyświetlić i uruchomić udostępnione zapytania, należy być członkiem projektu.
- Aby dodać i zapisać udostępnione zapytanie, masz co najmniej dostęp podstawowy .
- Uprawnienia: ustaw uprawnienie Współtworzenie na Zezwalaj dla folderu, do którego chcesz dodać zapytanie. Domyślnie grupa Współautorzy nie ma tego uprawnienia.
Uwaga
Użytkownicy z dostępem uczestników projektu publicznego mają pełny dostęp do funkcji zapytań, takich jak użytkownicy z dostępem podstawowym . Aby uzyskać więcej informacji, zobacz Stakeholder access quick reference (Dostęp uczestnika projektu — krótki przewodnik).
- Poziomy dostępu:
- Aby wyświetlić i uruchomić udostępnione zapytania, należy być członkiem projektu.
- Aby dodać i zapisać udostępnione zapytanie, masz co najmniej dostęp podstawowy .
- Uprawnienia: ustaw uprawnienie Współtworzenie na wartość Zezwalaj dla folderu, do którego chcesz dodać zapytanie. Domyślnie grupa Współautorzy nie ma tego uprawnienia.
Wybieranie filtru zapytania
W Edytor Power Query wybierz filtr, aby przejść do artykułu z przykładowymi zapytaniami. Oprócz filtrów zapytań można interakcyjnie stosować filtry do wyników zapytania.
Uwaga
Zapytania zarządzane nie obsługują wyszukiwań w pobliżu, jednak wyszukiwanie semantyczne. Wyszukiwania semantyczne obsługują również symbole wieloznaczne i *
?
jako symbole wieloznaczne, a do dopasowania więcej niż jednego znaku wieloznacznych można użyć więcej niż jednego znaku wieloznacznych. Aby uzyskać więcej informacji, zobacz Wyszukiwanie funkcjonalnych elementów roboczych.
Funkcje filtrowania
Makra
Zapytanie można filtrować interaktywnie przy użyciu funkcji Filter.
Otwieranie zapytań
W przeglądarce internetowej (1) sprawdź, czy wybrano właściwy projekt, (2) wybierz pozycję Zapytania tablic>, a następnie (3) wybierz pozycję Wszystkie.
Strona Zapytania zostanie otwarta na karcie Ulubione z listą zapytań ustawionych jako ulubione. Możesz wybrać kartę Wszystkie , aby wyświetlić wszystkie zdefiniowane zapytania i udostępnione dla projektu.
Napiwek
Zapytania wybrane przez Ciebie lub Twój zespół jako ulubione są wyświetlane na stronie Ulubione . Ulubione zapytania wraz z innymi obiektami są również wyświetlane na stronie Projektu . Aby uzyskać więcej informacji, zobacz Ustawianie ulubionych osobistych lub zespołowych.
W projekcie wybierz pozycję Zapytania tablic>, a następnie wybierz pozycję Wszystkie.
Strona Zapytania zostanie otwarta na karcie Ulubione z listą zapytań ustawionych jako ulubione. Możesz wybrać kartę Wszystkie , aby wyświetlić wszystkie zdefiniowane zapytania i udostępnione dla projektu.
Napiwek
Zapytania wybrane przez Ciebie lub Twój zespół jako ulubione są wyświetlane na stronie Ulubione . Ulubione zapytania wraz z innymi obiektami są również wyświetlane na stronie Projektu . Aby uzyskać więcej informacji, zobacz Ustawianie ulubionych osobistych lub zespołowych.
Definiowanie kwerendy listy płaskiej
Uruchom nowe zapytanie na karcie Zapytania w portalu internetowym lub na karcie Elementy robocze w programie Team Explorer.
- Wybierz pozycję Nowe>zapytanie.
Zostanie wyświetlona Edytor Power Query z następującymi ustawieniami domyślnymi: Płaska lista elementów roboczych, Typ elementu roboczego=[Any]i State=[Any].
- Zmodyfikuj wartości i dodaj lub usuń klauzule albo zmień typ zapytania na elementy robocze i linki bezpośrednie lub drzewo elementów roboczych.
- Wybierz pozycję Nowe>zapytanie.
Zostanie wyświetlona Edytor Power Query z następującymi ustawieniami domyślnymi: Płaska lista elementów roboczych, Typ elementu roboczego=[Any]i State=[Any].
- Zmodyfikuj wartości i dodaj lub usuń klauzule albo zmień typ zapytania na elementy robocze i linki bezpośrednie lub drzewo elementów roboczych.
Wykonywanie zapytań w projektach lub w projektach
Domyślnie nowy zakres zapytań do bieżącego projektu. Można jednak tworzyć zapytania w celu znalezienia elementów roboczych zdefiniowanych w organizacji lub kolekcji projektów. Wszystkie zapisane zapytania są jednak zapisywane w ramach określonego projektu.
Aby wyświetlić listę elementów roboczych zdefiniowanych w co najmniej dwóch projektach, zaznacz pole wyboru Zapytanie między projektami. Na przykład następujące zapytanie znajduje wszystkie funkcje utworzone we wszystkich projektach w ciągu ostatnich 30 dni.
Po zaznaczeniu pola Zapytanie między projektami możesz dodać pole Projekt zespołowy, aby filtrować do wybranej liczby projektów.
Uwaga
- Rozdziel wiele nazw projektów separatorem listy odpowiadającym regionalnym ustawieniam zdefiniowanym dla komputera klienckiego, na przykład przecinkiem
,
. - Jeśli używasz pola "State" w zapytaniu w wielu projektach, wyświetlane wartości są ograniczone do tych zdefiniowanych w projekcie domyślnym. Oznacza to, że jeśli wykonujesz zapytania w projektach, możesz nie zobaczyć wszystkich możliwych wartości stanu z każdego projektu, ale tylko tych z projektu, który jest ustawiony jako domyślny. Jeśli na przykład masz trzy projekty — Project A, Project B i Project C — i tylko projekt A ma stan "W przeglądzie", podczas gdy projekty B i C mają różne stany, wykonywanie zapytań względem tych projektów pokazuje tylko stany zdefiniowane w projekcie A.
- Pole Projekt zespołowy jest dostępne tylko po zaznaczeniu pola Zapytanie między projektami.
- Po zaznaczeniu pola zapytania między projektami wszystkie pola ze wszystkich typów elementów roboczych zdefiniowanych we wszystkich projektach w kolekcji są wyświetlane w menu rozwijanym Pole .
- Gdy pozycja Zapytanie między projektami nie jest zaznaczona, w menu rozwijanym Pole są wyświetlane tylko te pola z tych typów elementów roboczych, zgodnie z definicją w bieżącym projekcie.
Definiowanie klauzuli
Aby utworzyć zapytanie, zdefiniuj co najmniej jedną klauzulę. Każda klauzula definiuje kryteria filtrowania dla pojedynczego pola.
Przykładowa klauzula zapytania
I/lub | Pole | Operator | Wartość |
---|---|---|---|
And | Przypisane do | = | @Me |
Aby uzyskać listę dostępnych operatorów na podstawie typu danych pola, zobacz Szybki opis indeksu zapytań.
Wszystkie klauzule są dodawane jako instrukcja And . Wybierz pozycję Lub , aby zmienić grupowanie. Klauzule grupy, aby upewnić się, że instrukcje klauzuli są uruchamiane w wymaganej sekwencji.
Wybierz pozycję Dodaj nową klauzulę , aby dodać kolejną klauzulę na końcu zapytania, a następnie wybierz pole, operator i wartość dla tej klauzuli.
Na przykład wyszukaj wszystkie przypisane elementy robocze, określając pole Przypisane do , operator równości (=) i makro @Me reprezentujące tożsamość użytkownika.
Napiwek
Aby wyświetlić składnię WIQL dla zapytania oraz sposób użycia nawiasów do grupowania klauzul, zainstaluj edytor Wiql witryny Marketplace. To rozszerzenie obsługuje wyświetlanie składni WIQL i eksportowanie jej do pliku WIQL do użycia w wywołaniach interfejsu API REST. Aby uzyskać więcej informacji, zobacz Składnia języka zapytań elementów roboczych (WIQL).
Lista kontrolna dotycząca definiowania klauzuli zapytania
W pierwszym pustym wierszu pod nagłówkiem kolumny Pole wybierz strzałkę w dół, aby wyświetlić listę dostępnych pól, a następnie wybierz element na liście. Aby uzyskać więcej informacji, zobacz Query Fields and Values (Pola zapytań i wartości).
W tym samym wierszu w obszarze nagłówka kolumny Operator wybierz strzałkę w dół, aby wyświetlić listę dostępnych operatorów, a następnie wybierz element na liście. Aby uzyskać więcej informacji, zobacz Operatory.
W tym samym wierszu w obszarze nagłówka kolumny Wartość wprowadź wartość lub wybierz strzałkę w dół, a następnie wybierz element na liście. Aby uzyskać więcej informacji o sposobie używania makra lub zmiennej do określania bieżącego projektu, użytkownika, daty lub innego wyboru, zobacz Zmienne.
Aby dodać klauzulę, wybierz pozycję Dodaj nową klauzulę.
Możesz dodać klauzulę na końcu zapytania lub wykonać następujące zadania z odpowiednimi ikonami:
- Wstaw nowy wiersz filtru
- Usuń ten wiersz filtru
- Grupuj wybrane klauzule
- Rozgrupuj klauzule
Wyświetlanie hierarchii przy użyciu drzewa elementów roboczych
Użyj zapytania Drzewo elementów roboczych, aby wyświetlić wielowarstwową listę zagnieżdżonych elementów roboczych. Można na przykład wyświetlić wszystkie elementy listy prac i ich połączone zadania. Aby skoncentrować się na różnych częściach drzewa, wybierz pozycję Rozwiń wszystko lub Zwiń wszystko.
Uwaga
Nie można utworzyć zapytania, które pokazuje hierarchiczny widok planów testów, zestawów testów i przypadków testowych. Te elementy nie są połączone razem przy użyciu typów łączy nadrzędny-podrzędny. Można jednak utworzyć zapytanie linków bezpośrednich, które wyświetla listę elementów roboczych związanych z testem. Ponadto możesz wyświetlić hierarchię za pośrednictwem strony Plany testów.
Zdefiniuj kryteria filtrowania zarówno elementów roboczych nadrzędnych, jak i podrzędnych. Aby znaleźć połączone elementy podrzędne, wybierz najpierw pozycję Dopasuj elementy robocze najwyższego poziomu. Aby znaleźć połączone elementy nadrzędne, wybierz najpierw pozycję Dopasuj połączone elementy robocze.
Wyświetlanie zależności za pomocą linków bezpośrednich
Użyj zapytania Elementy robocze i Linki bezpośrednie, aby śledzić elementy robocze zależne od innych śledzonych zadań, takich jak zadania, usterki, problemy lub funkcje. Można na przykład wyświetlić elementy listy prac, które zależą od innych elementów implementowanych lub naprawiono usterkę.
Użyj zapytania linków bezpośrednich, aby śledzić zależności między zespołami. Zapytanie pomaga również zarządzać zobowiązaniami, które podejmuje zespół. Wybierz kryteria filtrowania dla pierwszych i połączonych elementów roboczych. Wybierz typy łączy, aby filtrować zależności.
Przefiltruj listę elementów roboczych w pierwszej warstwie, wybierając jedną z następujących opcji:
- Zwracane są tylko elementy, które mają pasujące linki: elementy robocze pierwszej warstwy zwracają tylko wtedy, gdy mają łącza do elementów roboczych określonych przez kryteria filtrowania połączonych elementów roboczych.
- Zwróć wszystkie elementy najwyższego poziomu: wszystkie elementy robocze pierwszej warstwy są zwracane pomimo kryteriów filtrowania połączonych elementów roboczych. Elementy robocze warstwy drugiej połączone z pierwszą warstwą zwracają, jeśli są zgodne z kryteriami filtrowania połączonych elementów roboczych.
- Zwracane są tylko elementy, które nie mają pasujących łączy: zwracane są elementy robocze pierwszej warstwy, ale tylko wtedy, gdy nie mają linków do elementów roboczych określonych przez kryteria filtrowania połączonych elementów roboczych.
Aby uzyskać więcej informacji na temat każdego typu linku, zobacz Link type reference (Dokumentacja typu łącza).
Używanie i/lub wyrażenia logicznego
Określ And
lub Or
utwórz wyrażenia logiczne klauzul zapytania. Służy And
do znajdowania elementów roboczych spełniających kryteria zarówno w bieżącej klauzuli, jak i poprzedniej klauzuli. Służy Or
do znajdowania elementów roboczych spełniających kryterium w bieżącej klauzuli lub poprzedniej klauzuli.
Dodaj jedną nową klauzulę dla każdego pola elementu roboczego, aby uściślić kryteria wyszukiwania. Dodaj klauzule, aby zwracać tylko żądany zestaw elementów roboczych. Jeśli nie otrzymasz oczekiwanych wyników z zapytania, uściślij je. Możesz dodawać, usuwać, grupować lub rozgrupować klauzule zapytań, aby poprawić wyniki zapytania.
Grupuj klauzule zapytania, które będą działać jako pojedyncza jednostka oddzielna od pozostałej części zapytania. Klauzule grupowania są podobne do umieszczania nawiasów wokół wyrażenia w równaniu matematycznym lub instrukcji logiki. W przypadku grupowania klauzula And
lub Or
dla pierwszej klauzuli w grupie ma zastosowanie do całej grupy.
Klauzule grupy
Klauzule zgrupowane działają jako pojedyncza jednostka oddzielona od pozostałej części zapytania. Klauzule grupowania są podobne do umieszczania nawiasów wokół równania matematycznego lub wyrażenia logiki. Operator And
or Or
dla pierwszej klauzuli w grupie ma zastosowanie do całej grupy.
Jak pokazano w poniższych przykładach, pogrupowane klauzule są tłumaczone na odpowiednie wyrażenie logiczne.
Query | Klauzule zgrupowane | Wyrażenie logiczne |
---|---|---|
1 | ||
2 | ||
3 |
Te zapytania zwracają elementy robocze typu Bug i spełniają następujące wyrażenia logiczne:
- Kwerenda 1:
AND State=Active OR Assigned to @Me
- Zapytanie 2:
AND (State=Active OR Assigned to @Me)
- Zapytanie 3:
OR (State=Active AND Assigned to @Me)
Aby zgrupować co najmniej jedną klauzulę, wybierz je, a następnie wybierz ikonę klauzul grupy.
Można również zgrupować kilka pogrupowanych klauzul. Zaznacz pola każdej klauzuli. Następnie wybierz ikonę klauzul grupy.
Jeśli wyniki zapytania nie zwracają oczekiwanych wyników, wykonaj następujące czynności:
- Upewnij się, że każda klauzula jest zdefiniowana zgodnie z oczekiwaniami.
- Zweryfikuj
And
/Or
przypisania do każdej klauzuli. Jeśli wyniki zawierają więcej elementów roboczych niż oczekiwano, często klauzulaOr
jest obecna zamiast klauzuliAnd
. - Ustal, czy chcesz grupować lub zmieniać grupowanie klauzul zapytania oraz
And
/Or
przypisania każdej pogrupowanej klauzuli. - Dodaj więcej klauzul zapytania, aby uściślić kryteria filtrowania zapytań.
- Przejrzyj dostępne opcje, aby określić pola, operatory i wartości.
- Zobacz najlepsze rozwiązania w dalszej części tego artykułu.
Rozgrupuj klauzulę
Aby rozgrupować klauzulę, wybierz ikonę klauzul rozgrupowania dla klauzuli zgrupowanej.
Ustawianie domyślnej szerokości kolumny w wynikach zapytania
Aby ustawić domyślną szerokość kolumny w wynikach zapytania, wykonaj następujące kroki:
- Otwórz zapytanie, które chcesz zmodyfikować.
- Ręcznie dostosuj szerokość kolumny do żądanego rozmiaru, przeciągając krawędzie nagłówków kolumn.
- Wybierz pozycję Zapisz lub Zapisz jako, jeśli chcesz zapisać je jako nowe zapytanie.
- Zamknij i otwórz ponownie zapytanie, aby upewnić się, że szerokość kolumny jest zachowywana.
Usługa Azure DevOps obecnie nie obsługuje ustawiania domyślnej szerokości kolumny, która utrzymuje się we wszystkich sesjach. Szerokość kolumny jest zapisywana dla poszczególnych zapytań, dlatego należy je dostosować i zapisać osobno dla każdego zapytania.
Wyświetlanie wyników zapytania na pulpicie nawigacyjnym
W poniższych dwóch widżetach są wyświetlane wyniki zapytania. Elementy robocze można otwierać bezpośrednio z tych widżetów.
- Praca przypisana do mnie: wyświetla listę wszystkich proponowanych lub aktywnych elementów roboczych przypisanych do zalogowanego użytkownika. Wyświetla listę pól Identyfikator, Stan i Tytuł.
- Widżet wyników zapytania: wyświetla wyniki zapytania płaskiego, drzewa lub linków bezpośrednich. Pola wyświetlane za pomocą widżetu można skonfigurować, zmienić rozmiar pól kolumn oraz rozwinąć i zwinąć drzewo oraz zapytanie linków bezpośrednich.
Aby uzyskać więcej informacji, zobacz Dodawanie widżetów do pulpitu nawigacyjnego.
Wyświetlanie widżetu wyników zapytania z tytułami nadrzędnymi
Wyniki zapytania można wyświetlić z wyświetlonym tytułem nadrzędnym . W tym celu wykonaj następujące kroki:
- Utwórz zapytanie, które filtruje interesujące elementy robocze. Zapytanie może być zapytaniem typu flat-list, tree lub direct-links.
- Dodaj pole Nadrzędne jako kolumnę.
- Zapisz zapytanie jako zapytanie udostępnione lub ulubione przez zespół.
- Dodaj widżet Wyniki zapytania do pulpitu nawigacyjnego i skonfiguruj zapytanie. Upewnij się, że pole Nadrzędne jest ustawione na wyświetlanie.
Na poniższej ilustracji przedstawiono widżet wyników zapytania, który wyświetla pole Nadrzędne.
Definiowanie zapytania jako hiperlinku
Hiperlink zapytania używa języka zapytań elementu roboczego (WIQL), który przypomina język Transact-SQL. Aby uzyskać więcej informacji, zobacz Składnia języka zapytań elementów roboczych (WIQL).
Uwaga
Większość przeglądarek wymusza limit od 2000 do 2083 znaków dla ciągu adresu URL.
Składnia hiperlinków kwerendy
Zakoduj część WIQL składni adresu URL. Aby zakodować adres URL, możesz użyć dowolnego narzędzia kodera adresów URL.
https://dev.azure.com/OrganizationName/ProjectName/_workitems?_a=query&wiql={Encoded WorkItemQueryLanguage}
Na przykład poniższe hiperłącze zawiera identyfikator i tytuł wszystkich aktywnych usterek zdefiniowanych w ścieżce obszaru FabrikamFiber/Web dla organizacji Fabrikam.
https://dev.azure.com/fabrikam/FabrikamFiber/_workitems?_a=query&wiql=SELECT%20%5BSystem.ID%5D%2C%20%5BSystem.Title%5D%20FROM%20WorkItems%20WHERE%20%5BSystem.TeamProject%5D%3D'FabrikamFiber'%20AND%20%5BSystem.WorkItemType%5D%3D'Bug'%20AND%20%5BSystem.State%5D%3D'Active'%20AND%20%5BSystem.AreaPath%5D%3D'FabrikamFiber%5CWeb'
Zdekodowany kod WIQL jest zgodny z:
SELECT [System.ID], [System.Title]
FROM WorkItems
WHERE [System.TeamProject]='FabrikamFiber'
AND [System.WorkItemType]='Bug'
AND [System.State]='Active'
AND [System.AreaPath]='FabrikamFiber\Web'
Uwaga
Długość WIQL nie może przekraczać 32 000 znaków dla zapytań usługi Azure Boards.
Składnia hiperlinków kwerendy
https://{ServerName}/{CollectionName}/{ProjectName}/_workitems?_a=query&wiql={Encoded WorkItemQueryLanguage}
Na przykład poniższe hiperłącze zawiera listę identyfikatorów, tytułów i stanu wszystkich usterek w ścieżce obszaru FabrikamFiber/Web.
http://fabrikam:8080/tfs/DefaultCollection/FabrikamFiber/_workitems?_a=query&wiql=SELECT%20%5BSystem.ID%5D%2C%20%5BSystem.Title%5D%2C%20%5BSystem.State%5D%20FROM%20WorkItems%20WHERE%20%5BSystem.TeamProject%5D%3D'FabrikamFiber'%20AND%20%5BSystem.WorkItemType%5D%3D'Bug'%20AND%20%5BSystem.AreaPath%5D%3D'FabrikamFiber%5CWeb'%20%20
Zobacz na przykład następujący niekodowany wpis.
http://fabrikam:8080/tfs/DefaultCollection/FabrikamFiber/_workitems?_a=query&wiql=
SELECT [System.ID], [System.Title], [System.State]
FROM WorkItems
WHERE [System.TeamProject]='FabrikamFiber'
AND [System.WorkItemType]='Bug'
AND [System.AreaPath]='FabrikamFiber\Web'
Najlepsze rozwiązania
Następujące najlepsze rozwiązania dotyczą następujących zapytań, które można utworzyć:
Tworzenie skoncentrowanych, selektywnych zapytań
Zdefiniuj wysoce selektywne zapytanie, stosując wszystkie filtry, które są niezbędne dla zapytania. Tym bardziej selektywne jest zapytanie, tym mniejszy zestaw wyników. Tym mniejszy jest zestaw wyników, tym bardziej ukierunkowane i selektywne jest zapytanie.
Kategoryzowanie elementów roboczych przy użyciu tagów
Użyj tagów elementów roboczych, aby kategoryzować elementy robocze zamiast pola niestandardowego. Zapytania filtrujące tagi zwykle działają szybciej względem tych zapytań, które filtrują dopasowania ciągów.
W przeciwieństwie do dopasowań pól niestandardowych lub częściowych dopasowań zapytanie z operacją Tags Contains
nie wymaga pełnego skanowania wszystkich tabel elementów roboczych.
Służy Contains words
do dopasowywania ciągów
Aby filtrować dopasowanie ciągu, użyj Contains Words
operatora zamiast Contains
operatora . Operator Contains Words
uruchamia wyszukiwanie pełnotekstowe w określonym polu, które jest zwykle wykonywane szybciej.
Operator Contains
uruchamia skanowanie tabeli, które jest wolniejsze niż Contains Words
operator. Zużywa również więcej cykli procesora CPU. Te cykle procesora CPU mogą powodować występowanie ograniczeń szybkości. Aby uzyskać więcej informacji, zobacz Rate and usage limits (Limity szybkości i użycia).
Określanie małych grup za pomocą In Group
operatora
In Group
Operator filtruje elementy robocze na podstawie dopasowań w grupie wartości. Grupa wartości odpowiada wartościom zawartym w kategorii zespołu, grupy zabezpieczeń lub śledzenia pracy. Możesz na przykład utworzyć zapytanie, aby znaleźć wszystkie elementy robocze przypisane do dowolnego członka zespołu. Możesz też znaleźć wszystkie elementy robocze należące do kategorii wymagań (Microsoft.RequirementCategory
).
Podczas filtrowania w grupie zawierającej dużą liczbę członków zestaw wyników zwykle jest większy i niewybierze. Ponadto jeśli grupa odpowiada dużej grupie firmy Microsoft Entra, zapytanie generuje dość duży koszt, aby rozwiązać ten problem z identyfikatorem Entra firmy Microsoft.
Unikaj używania negowanych operatorów
Negowane operatory , takie jak <>, Not In, Not Under, Not In Group
, mają tendencję do generowania niewybieranych zapytań i dużych zestawów wyników.
W razie potrzeby należy używać tylko negowanych operatorów. Zawsze staraj się najpierw znaleźć alternatywy. Na przykład jeśli pole Field1 ma wartości A, B, C, D; określ klauzulę Field1 In A, B, C
, zamiast negowanej Field1 <> D
klauzuli.
Unikaj porównań ciągów
Zapytania zawierające porównania ciągów generują skanowania tabel, które są z natury nieefektywne. Zamiast tego zalecamy użycie tagów lub określonego pola niestandardowego jako alternatywy, szczególnie gdy zapytanie działa źle.
Operatory limitu Or
Ogranicz liczbę operatorów zdefiniowanych Or
w zapytaniu. Zapytania działają lepiej, gdy jest używanych mniej Or
operatorów. Zbyt wiele Or
operatorów może sprawić, że zapytanie nie jest wybrane. Jeśli zapytanie działa wolno, zmień kolejność klauzuli Or
operatora w górnej części klauzul zapytania.
Zapisywanie zapytania
Ze względu na optymalizacje wewnętrzne zapisane zapytania mają tendencję do lepszego działania w przypadku niezapisanych zapytań. Zawsze zapisuj zapytanie, gdy planujesz go ponownie użyć. Nawet w przypadku zapytań WIQL uruchamianych za pośrednictwem interfejsu API REST zapisz interfejs WIQL za pośrednictwem portalu internetowego, aby wykonywać wywołania interfejsu API REST, dzięki czemu są mniej podatne na przyszłe regresje wydajności.
Uruchamianie zapytania
Czasami należy uruchomić zapytanie kilka razy, aby osiągnąć odpowiedni plan optymalizacji. Pamiętaj, aby zapisać zapytanie i uruchomić je maksymalnie 10 razy w ciągu 30 minut. Dzięki temu system może zbadać i wyszukać plan optymalizacji, który jest najbardziej odpowiedni dla zapytania.