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.
Mam tabelę SQL Server z ponad 3 miliardami wierszy. Jedno z moich zapytań zajmuje bardzo dużo czasu, dlatego rozważam jego optymalizację. Zapytanie wygląda następująco: SELECT [Enroll_Date] ,Count(*) AS [Record #] ,Count(Distinct UserID) AS [User #] FROM UserTable GROUP BY [Enroll_Date] [Data rejestracji] to kolumna o niskiej selektywności z mniej niż …
(Pytanie przeniesione z SO) Mam tabelę (dane fikcyjne) z indeksem klastrowym zawierającym 2 kolumny: Teraz uruchamiam te dwa zapytania: declare @productid int =1 , @priceid int = 1 SELECT productid, t.priceID FROM Transactions AS t WHERE (productID = @productid OR @productid IS NULL) AND (priceid = @priceid OR @priceid IS …
Mam zapytanie, które korzysta z funkcji w predykacie, mniej więcej tak: commentType = 'EL' AND commentDateTime >= DATEADD(month,datediff(month,0,getdate()) - 13,0) Mam filtrowany indeks na commentType, który ma 40 tys. Wierszy, a kiedy uruchamiam zapytanie, szacunkowa liczba wierszy dla szukania indeksu jest bardzo dokładna (około 11 tys.), Ale w następnym kroku …
Mam tabelę, która będzie zawierać około 15 milionów rekordów. Teraz muszę dodać indeks do tabeli. Dodanie indeksu zajmie trochę czasu, aby zaktualizować każdy wpis w tabeli. Jestem dość zdezorientowany, czy dodanie indeksu spowoduje przestoje. Jeśli tak, to jak mogę przezwyciężyć przestoje?
Mamy tabelę z dużą ilością za insert\selectkażdym razem (na przykład 100 maszyn wstawiających \ aktualizujących co sekundę). Jaki jest najlepszy sposób utworzenia indeksu na stole, którego nie można zablokować nawet na sekundę? Jeśli utworzę indeks, jestem pewien, że zablokuje on żądania i nie mogę tego zrobić. To duży stół z …
Usiłuję skonfigurować widok indeksowany w następującym scenariuszu, aby następujące zapytanie zostało wykonane bez dwóch skanów indeksu klastrowego. Ilekroć tworzę widok indeksu dla tego zapytania, a następnie go używam, wydaje się, że ignoruje on każdy indeks, który na niego umieszczam: -- +++ THE QUERY THAT I WANT TO IMPROVE PERFORMANCE-WISE +++ …
Mam następujący indeks utworzony w tabeli w mojej bazie danych: CREATE INDEX [idx_index1] on [table1] (col1, col2, col3) Serwer sugeruje następujący indeks „brakujących”: CREATE INDEX [idx_index2] on [table1] (col1, col2) INCLUDE (col3, col4, col5, col6....) Logiczne wydaje mi się poprawienie istniejącej definicji indeksu w celu uwzględnienia sugerowanych kolumn zamiast tworzenia …
Mam dwie tabele, pierwsza tabela zawiera wszystkie artykuły / posty na blogu w systemie CMS. Niektóre z tych artykułów mogą również pojawiać się w czasopiśmie, w którym to przypadku mają związek z kluczem obcym z inną tabelą zawierającą informacje specyficzne dla czasopisma. Oto uproszczona wersja składni tworzenia tabeli dla tych …
Mam tabelę najlepszych wyników dla 100 000 graczy, która jest wstawiana 2 razy dziennie z jednym rekordem na gracza. Na koniec dnia fragmentacja indeksów dla indeksów w tej tabeli wynosi 99%. Czy można temu zaradzić, modyfikując ustawienia? CREATE TABLE HighScore( [id] [int] IDENTITY(1,1) NOT NULL, [user] [int] NULL, [player] [int] …
Obecnie pracujemy z tabelą o nazwie tb_tranfers . Ta tabela ma 40 milionów wierszy i ma rozmiar ~ 26 GB (dane 11 GB, indeksy 15 GB). 10 do 15% wierszy to wiersze z miękkim usunięciem (Data Usunięcia nie jest pusta). W aplikacji użyto tylko wierszy, w których usunięto datę zerową. …
Próbuję zrozumieć sekwencję zdarzeń we wstawkach, w które zaangażowany jest zarówno indeks, jak i transakcja. Na przykład dokumentacja Oracle stwierdza: Jeśli utworzysz [lub masz] jeden lub więcej indeksów przed załadowaniem danych, baza danych musi aktualizować każdy indeks, gdy wstawiany jest każdy wiersz. Ale co się stanie, jeśli utworzę transakcję, wstawię …
Na podstawie tego zapytania, jeśli widzę małą liczbę odczytów (bardzo blisko 0 lub 0, np. 1 lub 2) oraz dużą lub umiarkowaną liczbę aktualizacji użytkowników (nie mogłem znaleźć wstawek ani usunięć przy tym zapytaniu) z dużą liczbę wierszy, teoretycznie powinienem usunąć indeks. SELECT DISTINCT OBJECT_NAME(s.[object_id]) AS ObjectName , p.rows TableRows …
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.