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.
Rozwiązuję problem zakleszczenia, gdy zauważyłem, że zachowanie blokady jest inne, gdy korzystam z indeksu klastrowego i nieklastrowanego w polu id. Wydaje się, że problem zakleszczenia został rozwiązany, jeśli do pola id zostanie zastosowany indeks klastrowany lub klucz podstawowy. Mam różne transakcje, które wykonują jedną lub więcej aktualizacji dla różnych wierszy, …
Mam taki stół: CREATE TABLE products ( id serial PRIMARY KEY, category_ids integer[], published boolean NOT NULL, score integer NOT NULL, title varchar NOT NULL); Produkt może należeć do wielu kategorii. category_idskolumna zawiera listę identyfikatorów wszystkich kategorii produktów. Typowe zapytanie wygląda następująco (zawsze szuka pojedynczej kategorii): SELECT * FROM products …
Zgodnie z tą odpowiedzią , o ile indeks nie zostanie zbudowany na kolumnach służących do ograniczenia, zapytanie nie skorzysta z indeksu. Mam tę definicję: CREATE TABLE [dbo].[JobItems] ( [ItemId] UNIQUEIDENTIFIER NOT NULL, [ItemState] INT NOT NULL, [ItemPriority] INT NOT NULL, [CreationTime] DATETIME NULL DEFAULT GETUTCDATE(), [LastAccessTime] DATETIME NULL DEFAULT GETUTCDATE(), …
Mam dwa zestawy pomiarów ziemi z danych satelitarnych, każdy z polami czasowymi (mjd dla średniej daty julian) i pozycjami geograficznymi (GeoPoint, spacial) i szukam zbieżności między tymi dwoma zestawami, aby ich czasy były zgodne z progiem 3 godziny (lub .125 dni) i ich odległości do 200 km od siebie. Zrobiłem …
Optymalizuję bazę zgłoszeń pracy Firebird 2.5. Są one przechowywane w tabeli zadeklarowanej jako taka: CREATE TABLE TICKETS ( TICKET_ID id PRIMARY KEY, JOB_ID id, ACTION_ID id, STATUS str256 DEFAULT 'Pending' ); Zasadniczo chcę znaleźć pierwszy bilet, który nie został przetworzony i ma Pendingstatus. Moja pętla przetwarzania to: Odzyskaj 1. bilet …
Kontynuując pytanie dotyczące zwiększenia wydajności zapytań, chciałbym wiedzieć, czy istnieje sposób domyślnego użycia mojego indeksu. To zapytanie jest uruchamiane za około 2,5 sekundy: SELECT TOP 1000 * FROM [CIA_WIZ].[dbo].[Heartbeats] WHERE [DateEntered] BETWEEN '2011-08-30' and '2011-08-31'; Ten działa w około 33ms: SELECT TOP 1000 * FROM [CIA_WIZ].[dbo].[Heartbeats] WHERE [DateEntered] BETWEEN '2011-08-30' …
Uruchomiłem ten skrypt, aby znaleźć dodatkowe indeksy select o.name as TableName, i.name as IndexName, p.reserved_page_count * 8.0 / 1024 as SpaceInMB, s.* from sys.dm_db_index_usage_stats s inner join sys.objects o on s.object_id = o.object_id inner join sys.indexes i on i.index_id = s.index_id and i.object_id = o.object_id inner join sys.dm_db_partition_stats p on …
Zgodnie z książką Microsoftu na temat tworzenia baz danych Egzamin 70-433: Tworzenie baz danych Microsoft SQL Server 2008 : Ani wiodące znaki wieloznaczne, które NIE są logiką, nie pozwalają optymalizatorowi zapytań na użycie indeksów w celu optymalizacji wyszukiwania. Aby uzyskać optymalną wydajność, należy unikać używania słowa kluczowego NOT i wiodących …
Oczywiście utrzymanie kilku różnych wskaźników ma negatywny wpływ na wydajność wstawiania i usuwania. Co z wydajnością zapytań: czy w ogóle ma sens utrzymywanie zbyt wielu indeksów na stole? Czy wydajność zapytania poprawi się w każdym przypadku z dodanym indeksem (oczywiście w przypadku zapytań w ogóle korzystających z tego indeksu), czy …
Mam tę tabelę bazy danych, która powinna aktualizować indeks pełnotekstowy. Jednak w ogóle nie widzę, aby się to działo (brak błędu w dzienniku, ponieważ ostatni dziennik, który widzę, był wtedy, gdy uruchomiłem go ręcznie). Oto, co widzę ... ale na samym stole ... Czy może dlatego nie dzieje się to …
Korzystając z PostgreSQL 9.2, mam problemy z powolnymi zapytaniami na stosunkowo dużej tabeli (ponad 200 milionów wierszy). Nie próbuję niczego szalonego, tylko dodając wartości historyczne. Poniżej znajduje się zapytanie i dane wyjściowe planu zapytania. Mój układ stołu: Table "public.energy_energyentry" Column | Type | Modifiers -----------+--------------------------+----------------------------------------------------------------- id | integer | not …
Czy istnieje górna granica dla arraykolumny? Otrzymuję ten błąd podczas wstawiania do pola tablicy - PG::Error: ERROR: index row size 3480 exceeds maximum 2712 for index "ix_data" Oto definicja mojej tabeli - create table test_array(id varchar(50), data text[]); ALTER TABLE test_array ADD PRIMARY KEY (id); CREATE INDEX ix_data ON test_array …
Mam tabelę z ~ 200 milionami wierszy i ~ 15 kolumnami. Planuję utworzyć COLUMNSTOREindeks na moim stole. Czy nastąpi jakaś zmiana wydajności w oparciu o kolejność kolumn, których używam w indeksie magazynu kolumn? Jeśli tak, jaka jest za tym logika?
Dokonując kompozytowy klucz podstawowy dla dwóch lub więcej kolumn, np PRIMARY KEY(col1, col2, col3); czy system będzie w INDEXkażdej kolumnie osobno? Powodem, dla którego zadaję to pytanie, jest to, że kiedy go używamy UNIQUE INDEX (col1, col2, col3), działa on jak INDEXdla pierwszej kolumny i musimy utworzyć dodatkowe INDEXs dla …
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.