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.
Gdy chcę, aby kolumna miała odrębne wartości, mogę użyć ograniczenia create table t1( id int primary key, code varchar(10) unique NULL ); go lub mogę użyć unikalnego indeksu create table t2( id int primary key, code varchar(10) NULL ); go create unique index I_t2 on t2(code); Kolumny z unikalnymi ograniczeniami …
Uruchomiłem narzędzie autoindeksowania w naszej bazie danych MS SQL (zmodyfikowałem skrypt pochodzący od Microsoft, który przegląda tabele statystyk indeksów - Automated Auto Indexing ). Ze statystyk mam teraz listę rekomendacji dla indeksów, które wymagają utworzenia. Edycja: Indeksy opisane powyżej pobierają informacje z DMV, które mówią ci, co silnik bazy danych …
Używam PostgreSQL 9.1 na Ubuntu 12.04. Muszę wybrać rekordy w określonym przedziale czasu: moja tabela time_limitsma dwa timestamppola i jedną integerwłaściwość. W mojej rzeczywistej tabeli znajdują się dodatkowe kolumny, które nie są związane z tym zapytaniem. create table ( start_date_time timestamp, end_date_time timestamp, id_phi integer, primary key(start_date_time, end_date_time,id_phi); Ta tabela …
Musiałem napisać proste zapytanie, w którym szukam nazwiska ludzi, które zaczynają się na B lub D: SELECT s.name FROM spelers s WHERE s.name LIKE 'B%' OR s.name LIKE 'D%' ORDER BY 1 Zastanawiałem się, czy istnieje sposób na przepisanie tego, aby stać się bardziej wydajnym. Więc mogę uniknąć ori / …
Powiedzmy, że mam stolik z polami Ai B. Robię regularne zapytania na A+ B, więc utworzyłem indeks złożony (A,B). Czy zapytania dotyczące Abyłyby również w pełni zoptymalizowane przez indeks złożony? Dodatkowo utworzyłem indeks A, ale Postgres nadal używa indeksu złożonego tylko do zapytań A. Jeśli poprzednia odpowiedź jest pozytywna, to …
Mam kilka pytań dotyczących działania indeksów w PostgreSQL. Mam Friendstabelę z następującym indeksem: Friends ( user_id1 ,user_id2) user_id1i user_id2są kluczami obcymi do usertabeli Czy są one równoważne? Jeśli nie to dlaczego? Index(user_id1,user_id2) and Index(user_id2,user_id1) Jeśli utworzę klucz podstawowy (identyfikator_użytkownika1, identyfikator_użytkownika2), czy automatycznie tworzy dla niego indeksy i Jeśli indeksy w …
Napisałem skrypt do REINDEXindeksów w bazie danych. Oto jeden z nich: echo -e "\nreindex for unq_vbvdata_vehicle started at: `date "+%F %T"`" >> ${LOG_FILE} psql -U ${USERNAME} -h ${HOSTNAME} -d ${DBNAME} -c "REINDEX INDEX scm_main.unq_vbvdata_vehicle;" if [[ ${?} -eq 0 ]]; then echo "reindex for unq_vbvdata_vehicle finished at: `date "+%F %T"`" …
Załóżmy, że masz następującą tabelę i dane: create table t ( k int, v int, index k(k) ) engine=memory; insert into t (k, v) values (10, 1), (10, 2), (10, 3); W przypadku wydawania select * from t where k = 10bez order byklauzuli, w jaki sposób MySQL domyślnie sortuje …
Patrząc na plan wykonania wolno działającego zapytania, zauważyłem, że niektóre węzły przeszukują indeks, a niektóre skanują indeks. Jaka jest różnica między wyszukiwaniem indeksu a skanowaniem indeksu? Który działa lepiej? W jaki sposób SQL wybiera jeden od drugiego? Zdaję sobie sprawę, że są to 3 pytania, ale myślę, że odpowiedź na …
Czy istnieje sposób na utworzenie indeksu w MySQL, jeśli nie istnieje? MySQL nie obsługuje oczywistego formatu: CREATE INDEX IF NOT EXISTS index_name ON table(column) ERROR 1064 (42000): You have an error in your SQL syntax;... Wersja MySQL ( mysql -V) to 5.1.48, ale myślę, że MySQL nie ma takiej CREATE …
Pracuję nad funkcją, która pozwala mi dodać indeks, jeśli nie istnieje. Mam problem z tym, że nie mogę uzyskać listy indeksów do porównania. jakieś pomysły? Jest to podobny problem do tworzenia kolumny, który został rozwiązany za pomocą tego kodu: https://stackoverflow.com/a/12603892/368511
W ubiegłym tygodniu robiłem kurs MS10775A i pojawiło się jedno pytanie, na które trener nie mógł odpowiedzieć w wiarygodny sposób: Czy ponowne indeksowanie aktualizuje statystyki? Znaleźliśmy dyskusje online, w których dowodzi, że tak jest, a nie tak.
Mam bazę danych, którą próbowałem defragmentować wszystkie tabele jednocześnie, uruchamiając ten T-SQL: SELECT 'ALTER INDEX all ON ' + name + ' REORGANIZE;' + CHAR(10) + 'ALTER INDEX all ON ' + name + ' REBUILD;' FROM sys.tables A następnie kopiowanie i wklejanie danych wyjściowych do nowego okna zapytania i …
Pracuję w bazie danych MySql z tabelą podobną do tej: +--------------+ | table_name | +--------------+ | myField | +--------------+ ... i muszę zrobić wiele takich zapytań (z 5-10 ciągami na liście) : SELECT myField FROM table_name WHERE myField IN ('something', 'other stuff', 'some other a bit longer'...) Będzie około 24 …
Czy istnieje jakaś twarda i szybka reguła, która decyduje o tym, w których kolumnach i jakiej kolejności należy je umieścić Uwzględnione w indeksie nieklastrowanym. Właśnie czytałem ten post https://stackoverflow.com/questions/1307990/why-use-the-include-clause-when-creating-an-index i znalazłem to dla następującego zapytania: SELECT EmployeeID, DepartmentID, LastName FROM Employee WHERE DepartmentID = 5 Plakat sugeruje, aby zrobić indeks …
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.