Struktura bazy danych, która może poprawić szybkość zapytań kosztem miejsca na dysku oraz wolniejsze wstawianie / aktualizacje. Przechowuje kopię jednej lub więcej posortowanych kolumn, ale dane są uporządkowane inaczej, aby umożliwić szybszy dostęp.
Oto podsumowanie: wykonuję wybrane zapytanie. Każda kolumna w klauzulach WHEREi ORDER BYznajduje się w jednym indeksie nieklastrowanym IX_MachineryId_DateRecorded, jako część klucza lub jako INCLUDEkolumna. Wybieram wszystkie kolumny, aby uzyskać przeglądanie zakładek, ale biorę tylko TOP (1), więc z pewnością serwer może powiedzieć, że wyszukiwanie musi być wykonane tylko raz, na …
Tabela tma dwa indeksy: create table t (a int, b int); create type int_pair as (a int, b int); create index t_row_idx on t (((a,b)::int_pair)); create index t_a_b_idx on t (a,b); insert into t (a,b) select i, i from generate_series(1, 100000) g(i) ; Z anyoperatorem nie jest używany indeks : …
Do przechowywania 128-bitowego identyfikatora UUID istnieje wiele opcji przechowywania: kolumna bajtowa [16] dwie kolumny bigint / long (64 bity) kolumna CHAR (36) - 32 cyfry szesnastkowe + 4 myślniki. kolumna specyficzna dla bazy danych UUID, jeśli db ją obsługuje Które z nich są najbardziej wydajne z punktu widzenia indeksowania? Jeśli …
Mam dużą bazę danych (16M wierszy) zawierającą percepcyjne skróty obrazów. Chciałbym móc wyszukiwać rzędy, zbijając odległość w rozsądnym czasie. Obecnie, o ile dobrze rozumiem ten problem, myślę, że najlepszą opcją jest niestandardowa implementacja SP-GiST, która implementuje drzewo BK , ale wydaje się, że to dużo pracy, i wciąż jestem rozmyślany …
Mam bazę danych SQL Server, w której zapytania są dość powolne, a blokowanie i blokowanie jest bardzo duże. Kiedy patrzę na brakujące indeksy DMV i plany zapytań, nie ma żadnych sugestii. Dlaczego?
Patrząc na dokumentację postgres dla tabeli zmian , wydaje się, że regularne ograniczenia można oznaczyć jako DEFERRABLE(bardziej konkretnie, INITIALLY DEFERREDco mnie interesuje). Indeksy można również powiązać z ograniczeniem, o ile: Indeks nie może mieć kolumn wyrażeń ani być indeksem częściowym Co prowadzi mnie do wniosku, że obecnie nie ma sposobu …
Mam bazę danych sqlite z dwiema tabelami, każda zawierająca 50 000 wierszy, zawierającymi nazwiska (fałszywych) osób. Zbudowałem proste zapytanie, aby dowiedzieć się, ile jest imion (imię, inicjał środkowy, nazwisko) wspólnych dla obu tabel: select count(*) from fakenames_uk inner join fakenames_usa on fakenames_uk.givenname=fakenames_usa.givenname and fakenames_uk.surname=fakenames_usa.surname and fakenames_uk.middleinitial=fakenames_usa.middleinitial; Gdy nie ma żadnych …
Chcę mieć szybkie wyszukiwanie w oparciu o to, czy dwie kolumny są równe. Próbowałem użyć kolumny obliczeniowej z indeksem, ale wydaje się, że SQL Server go nie używa. Jeśli po prostu użyję statycznie wypełnionej kolumny bitów z indeksem, otrzymam oczekiwane wyszukiwanie indeksu. Wydaje się, że istnieją jeszcze takie pytania, ale …
Dla następującego schematu i przykładowych danych CREATE TABLE T ( A INT NULL, B INT NOT NULL IDENTITY, C CHAR(8000) NULL, UNIQUE CLUSTERED (A, B) ) INSERT INTO T (A) SELECT NULLIF(( ( ROW_NUMBER() OVER (ORDER BY @@SPID) - 1 ) / 1003 ), 0) FROM master..spt_values Aplikacja przetwarza wiersze …
W naszej bazie danych istnieje duża tabela, która mniej więcej wygląda tak: CREATE TABLE dbo.production_data ( pd_id BIGINT PRIMARY KEY, serial NVARCHAR(16) NOT NULL UNIQUE, ... ); ale teraz rozmiar pola szeregowego stał się zbyt niski, więc chcę go zmienić na 32. Narzędzie porównywania schematów programu Visual Studio sugeruje wykonanie …
Podczas prac konserwacyjnych próbuję uzyskać listę pofragmentowanych indeksów. Ale zapytanie jest bardzo wolne i jego wykonanie zajmuje ponad 30 minut . Myślę, że jest to spowodowane zdalnym skanowaniem sys.dm_db_index_physical_stats. Czy istnieje sposób na przyspieszenie następującego zapytania: SELECT OBJECT_NAME(i.OBJECT_ID) AS TableName, i.name AS TableIndexName FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED') phystat …
Mam dużą tabelę z kolumną VARCHAR (20) i muszę ją zmodyfikować, aby stała się kolumną VARCHAR (50). Zazwyczaj wykonanie ALTER TABLE (dodanie TINYINT) na tym konkretnym stole zajmuje około 90-120 minut, więc naprawdę mogę to zrobić tylko w sobotę lub niedzielę wieczorem, aby uniknąć wpływu na użytkowników bazy danych. Jeśli …
Do funkcji wyszukiwania używam widoku, który zawiera rekordy ze wszystkich tabel, w których muszę wyszukiwać. Widok ma prawie 20 milionów rekordów. Wyszukiwanie w tym widoku zajmuje zbyt dużo czasu. Gdzie powinienem szukać poprawy wydajności tego widoku? Wstępna definicja widoku znajduje się poniżej. Zawiera trzynaście stołów i około trzydziestu pól. CREATE …
Zróbmy kilka założeń: Mam stół, który wygląda następująco: a | b ---+--- a | -1 a | 17 ... a | 21 c | 17 c | -3 ... c | 22 Fakty na temat mojego zestawu: Rozmiar całego stołu wynosi ~ 10 10 rzędów. Mam ~ 100 tys. Wierszy …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.