Translation not up to date
Służy do zbierania statystyk dotyczących zwirtualizowanych tabel w programie Watson Query. Optymalizator Watson Query wykorzystuje te statystyki w celu określenia optymalnych planów dostępu w celu wydajnego przetwarzania zapytań. Schemat to DVSYS
.
Przy większej statystyce tabel optymalizator może podejmować lepsze decyzje, aby zapewnić jak najlepsze plany dostępu. Po uruchomieniu programu COLLECT_STATISTICS
w tabeli kolejne zapytania skierowane do tej tabeli są zwykle uruchamiane znacznie szybciej. Więcej informacji na ten temat zawiera sekcja Gromadzenie statystyk w programie Watson Query.
- Komenda ANALYZE (zamiast procedury
COLLECT_STATISTICS
) służy do zbierania statystyk dotyczących zwirtualizowanych tabel w obiektowej pamięci masowej. Więcej informacji na ten temat zawiera sekcja Komenda ANALYZE. Aby określić, które zwirtualizowane tabele są tworzone dla obiektowej pamięci masowej, można filtrować obiekty zwirtualizowane według typu. Wybierz opcje Object Storage, Tabelalub Widok w menu Filtr w . - Za pomocą procedury
SYSPROC.NNSTAT
(zamiast proceduryCOLLECT_STATISTICS
) można gromadzić statystyki dotyczące zwirtualizowanych tabel w plikach tekstowych, które nie znajdują się w pamięci obiektowej. Więcej informacji na ten temat zawiera sekcja SYSPROC.NNSTAT procedura składowana.
Parametry wejściowe
- schemat_virtschema
- Typem tego wymaganego parametru jest VARCHAR (128). Określa nazwę schematu zwirtualizowanej tabeli.
- nazwa_virtname
- Typem tego wymaganego parametru jest VARCHAR (128). Określa nazwę zwirtualizowanej tabeli.
- kolumny virtcolumns
- Typem tego opcjonalnego parametru jest VARCHAR (32672). Określa rozdzielaną przecinkami listę nazw kolumn, dla których mają być gromadzone dane statystyczne. Wartość null określa, że dane statystyczne mają być gromadzone dla wszystkich kolumn. Pusty łańcuch określa, że nie ma być gromadzonych statystyk kolumn. W tym przypadku gromadzone są tylko liczność tabeli. Jeśli nazwa kolumny zawiera znaki specjalne, nazwa musi być ujęta w znaki podwójnego cudzysłowu.
- typ_kolekcji
- Typem wymaganego parametru jest SMALLINT. Określa metodę gromadzenia danych statystycznych. Poprawne wartości to 1 (metodaremote-catalog ) i 2 (metodaremote-query ):
- katalog zdalny
- Ten typ gromadzenia danych statystycznych jest obsługiwany tylko w przypadku tabel zwirtualizowanych w zdalnych źródłach danych, które obsługują lokalną metodę gromadzenia statystyk. Dane statystyczne zapisane w tabelach katalogu w zdalnym źródle danych są pobierane, a następnie zapisywane w katalogu statystyk Watson Query . Kluczowe znaczenie ma zapewnienie, że dokładne statystyki są dostępne w zdalnym źródle danych. Typ gromadzenia statystyk remote-catalog nie jest obsługiwany w przypadku tabel pogrupowanych.
- zapytanie zdalne
- Ten typ gromadzenia statystyk używa zapytań SQL dla zwirtualizowanej tabeli w celu obliczenia statystyk. Ten typ może być wymagający użycia zasobów i może zająć dużo czasu, jeśli zwirtualizowana tabela zawiera wiele wierszy lub statystyk jest zbieranych dla wielu kolumn.
- OPTIONS
- Typem tego opcjonalnego parametru jest VARCHAR (32672). Określa rozdzielaną przecinkami listę dodatkowych parametrów. Ten parametr jest zarezerwowany do użycia w przyszłości.
Parametry wyjściowe
- diagnostyka
- Typem tego parametru jest VARCHAR (32672). Reprezentuje dane wyjściowe diagnostyczne, jeśli wystąpi awaria i podsumowanie zebranych statystyk ze skrótami wyników.
Użycie notatek
- Procedurę COLLECT_STATISTICS można uruchomić bezpośrednio lub za pomocą klienta WWW Watson Query po każdym wprowadzeniu istotnych zmian w danych ze zdalnego źródła danych.
- Jeśli nazwa kolumny zawiera znaki specjalne, nazwa musi być ujęta w znaki podwójnego cudzysłowu.
- Jeśli zdalne źródło danych obsługuje narzędzia służące do zbierania statystyk lokalnych, należy się upewnić, że zbierane są statystyki lokalne oraz że metoda remote-catalog jest używana do gromadzenia statystyk dotyczących zwirtualizowanej tabeli.
- Jeśli zdalne źródło danych nie obsługuje narzędzi do zbierania statystyk lokalnych, jedyną dostępną opcją jest metoda remote-query .
- Dla kolumn typu LOB gromadzona jest tylko statystyka NUMNULLS.
Przykłady
W poniższych przykładach używane są zwirtualizowane tabele w tabelach, które są częścią bazy danych SAMPLE w produkcie IBM® Db2®. Więcej informacji na ten temat zawiera sekcja Baza danych SAMPLE.
- Metoda remote-catalog służy do zbierania statystyk dla wszystkich kolumn w tabeli.
call dvsys.collect_statistics('SAMPLE', 'DEPARTMENT', null, 1, null, ?)
Value of output parameters -------------------------- Parameter Name : DIAGS Parameter Value : Collected statistics for table "SAMPLE "."DEPARTMENT": Table Cardinality = 14 Column "LOCATION" [CHAR(16)]: colcard=1, numnulls=14, highkey="", lowkey="" Column "ADMRDEPT" [CHAR(3)]: colcard=3, numnulls=0, highkey="E01", lowkey="A00" Column "DEPTNAME" [VARCHAR(36)]: colcard=14, numnulls=0, highkey="SPIFFY COMPUTER SERVICE DIV.", lowkey="BRANCH OFFICE F2" Column "MGRNO" [CHAR(6)]: colcard=9, numnulls=6, highkey="000100", lowkey="000020" Column "DEPTNO" [CHAR(3)]: colcard=14, numnulls=0, highkey="I22", lowkey="B01" Return Status = 0
- Metoda remote-query służy do zbierania statystyk dla wszystkich kolumn w tabeli.
call dvsys.collect_statistics('SAMPLE', 'DEPARTMENT', null, 2, null, ?)
Value of output parameters -------------------------- Parameter Name : DIAGS Parameter Value : Collected statistics for table "SAMPLE "."DEPARTMENT": Table Cardinality = 14 Column "LOCATION" [CHAR(16)]: colcard=1, numnulls=14, highkey="", lowkey="" Column "ADMRDEPT" [CHAR(3)]: colcard=3, numnulls=0, highkey="E01", lowkey="A00" Column "DEPTNAME" [VARCHAR(36)]: colcard=14, numnulls=0, highkey="SUPPORT SERVICES", lowkey="ADMINISTRATION SYSTEMS" Column "MGRNO" [CHAR(6)]: colcard=9, numnulls=6, highkey="000100", lowkey="000010" Column "DEPTNO" [CHAR(3)]: colcard=14, numnulls=0, highkey="J22", lowkey="A00" Return Status = 0
- Metoda remote-query służy do zbierania danych statystycznych dla niektórych kolumn w tabeli.
call dvsys.collect_statistics('SAMPLE', 'DEPARTMENT', 'DEPTNO,DEPTNAME,LOCATION', 2, null, ?)
Value of output parameters -------------------------- Parameter Name : DIAGS Parameter Value : Collected statistics for table "SAMPLE "."DEPARTMENT": Table Cardinality = 14 Column "LOCATION" [CHAR(16)]: colcard=1, numnulls=14, highkey="", lowkey="" Column "DEPTNAME" [VARCHAR(36)]: colcard=14, numnulls=0, highkey="SUPPORT SERVICES", lowkey="ADMINISTRATION SYSTEMS" Column "DEPTNO" [CHAR(3)]: colcard=14, numnulls=0, highkey="J22", lowkey="A00" Return Status = 0
- Użyj metody remote-query , aby gromadzić tylko statystyki tabel.
call dvsys.collect_statistics('SAMPLE', 'DEPARTMENT', '', 2, null, ?)
Value of output parameters -------------------------- Parameter Name : DIAGS Parameter Value : Collected statistics for table "SAMPLE "."DEPARTMENT": Table Cardinality = 14 Return Status = 0
- Użyj metody remote-query , aby spróbować zebrać statystyki dla kolumny, która nie jest zdefiniowana w tabeli.
call dvsys.collect_statistics('SAMPLE', 'DEPARTMENT', 'DEPTNO,FIRSTNME', 2, null, ?)
Value of output parameters -------------------------- Parameter Name : DIAGS Parameter Value : ERROR: VALIDATE COLUMN FILTER LIST -- Invalid column "FIRSTNME" in virtColumns Return Status = 0
- Metoda remote-catalog służy do zbierania statystyk, gdy w katalogu zdalnym nie ma statystyk dla tabeli lokalnej.
call dvsys.collect_statistics('SAMPLE', 'DEPARTMENT', null, 1, null, ?)
Value of output parameters -------------------------- Parameter Name : DIAGS Parameter Value : WARNING: No statistics found in remote catalog for table "SAMPLE "."DEPARTMENT" Return Status = 0
- Metoda remote-catalog służy do zbierania statystyk, gdy określone są kolumny ze znakami specjalnymi.
call dvsys.collect_statistics('SAMPLE', 'SpecialChars', '"Col,1","Col""2"', 2, null, ?)
Value of output parameters -------------------------- Parameter Name : DIAGS Parameter Value : Collected statistics for table "SAMPLE "."SpecialChars": Table Cardinality = 4 Column "Col,1" [INTEGER]: colcard=3, numnulls=0, highkey="3", lowkey="1" Column "Col"2" [INTEGER]: colcard=3, numnulls=1, highkey="2", lowkey="1" Return Status = 0