Wprowadzenie do MongoDB tworzy Indeks
MongoDB jest wykorzystywany przez złożone eksploracje danych, algorytmy analizy danych do zarządzania, modyfikowania i rozmieszczania danych, na których pracują. Dane, z którymi mają do czynienia, są ogromne i wymagają wydajnej obsługi. Indeksy w DBMS pomagają zwiększyć wydajność zapytań, takich jak pobieranie i aktualizowanie danych. Wyobraź sobie kolekcję zawierającą setki dokumentów. Aby znaleźć dokumenty pasujące do określonego filtra, MongoDB musiałby dopasować filtr do wszystkich dokumentów obecnych w kolekcji, co jest uciążliwe i czasochłonne. Zamiast indeksować dokumenty (pola) znacznie skróci czas wyszukiwania. W tym temacie dowiemy się o tworzeniu indeksu MongoDB.
Indeksy to struktury danych wypełnione częściowym zestawem danych. Indeks przechowuje wartość określonego pola (pól) w dokumentach w uporządkowany sposób, który obsługuje operacje takie jak komparatory, równiki i zapytania oparte na zakresie w kolejności sekwencyjnej.
Podstawowa składnia do tworzenia indeksu
db.collectionName.createIndex(, )
Klucze | Klucze to dokument zawierający parę wartości pola, w którym pole jest kluczem indeksu, a wartość jest rodzajem indeksu.
Na przykład wartość wynosi 1 dla sortującego klucza indeksu w kolejności rosnącej i -1 w kolejności malejącej |
Opcje | Opcje to dokument zawierający zestaw opcji wpływających na tworzenie indeksów. Te opcje są opcjonalne. |
Rodzaje indeksów
Oto typy indeksów wymienione poniżej
1. Domyślny identyfikator
Każdy dokument obecny w kolekcji Mongo zawiera indeks
domyślnie o nazwie „_id”. Identyfikator obiektu jest tworzony podczas tworzenia dokumentu, jeśli nie ma żadnych wartości indeksu.
2. Pojedyncze pole
Indeksowanie odbywa się na jednym polu, a operacja sortowania jest rosnąca lub malejąca, ponieważ MongoDB może przechodzić w dowolnym kierunku.
Przykład: db.collection.createIndex ((„wiek”: 1))
3. Indeks związku
MongoDB obsługuje indeksy zdefiniowane przez użytkownika w wielu polach. Kolejność pól podanych w indeksie złożonym jest dość znacząca. Kolejność sortowania trwa od lewej do prawej, priorytet wrt do pierwszego pola wymienionego w indeksach złożonych jest wyższy niż dla następnego pola.
Przykład: db.collection.createIndex ((„age”: 1, ”dim.h”: - 1)). W tym przykładzie wszystkie dokumenty z polem wieku są najpierw sortowane w porządku rosnącym, a następnie w malejącej wysokości w przyciemnionym.
4. Indeks Multikey
MongoDB używa Multikey Index do indeksowania danych w formacie tablicowym. Podczas indeksowania każdy element w tablicy jest tworzony osobny indeks, a dane są indeksowane na podstawie elementów obecnych w tablicy. MongoDB dba o to, czy pole indeksu ma domyślnie tablicę.
5. Indeks geoprzestrzenny
MongoDB korzysta z indeksowania geoprzestrzennego, aby znaleźć dane na podstawie swojej lokalizacji. Obsługuje dwa typy wyszukiwania: 2D (dwuwymiarowy) i 3D (trójwymiarowy). Te indeksy służą do uzyskiwania wyników w zakresie. Liczbę wyników wyszukiwania można również ograniczyć za pomocą funkcji limit ().
Przykład: db.players.find ((loc: ($ near: ($ geometry: (type: „high_school”, sport: „Basketball” wiek: (14, 17)))))). W tym przykładzie znajdziesz wszystkie wpisy uczniów, którzy są w liceum, grają w koszykówkę i są w wieku od 14 do 17 lat.
6. Indeks tekstowy
MongoDB zapewnia indeksowanie tekstu w celu obsługi zapytań w formacie łańcuchowym. Indeks tekstowy może zawierać dowolne pola składające się z elementów łańcuchowych lub tablicy elementów łańcuchowych.
Przykład: db.movies.find (($ text: ($ search: „tom hardy”)))). W tym przykładzie znajdziesz wszystkie dokumenty, które mają nazwy aktorów, takie jak Tom Hanks, Tom Felton, Tom Hiddelson, a także Robert Hardy i John Hardy. MongoDB pobiera ciąg przeznaczony do wyszukiwania i podaje wszystkie dokumenty, które zawierają pełny lub częściowy ciąg wyszukiwania.
7. Wskaźnik skrótu
MongoDB korzysta z indeksu mieszania do obsługi dzielenia na fragmenty. Indeksy mieszania obliczają wartość skrótu pól indeksu za pomocą funkcji skrótu. Nie obsługuje indeksowania wielu kluczy (wartości tablic). Indeksy mieszania są tworzone za pomocą funkcji createIndex, a wartość pola indeksu powinna być zawsze „mieszana”.
Przykład: db.collection.createIndex ((: „hashed”)) . Aby znaleźć dokumenty z wartościami skrótu, db.collection.find ((: Math.pow (2, 63))) zwróci wszystkie dokumenty z indeksami skrótu w zakresie 2 63.
Opcje indeksowania
1. Unikalny indeks
Jak sama nazwa wskazuje, unikalne indeksy mają unikalny charakter. MongoDB nie zezwala na powielanie wartości, jeśli indeks jest tworzony przy użyciu opcji „unikatowej”. Aby określić, że indeks jest unikalny podczas tworzenia indeksu, należy użyć następującego formatu.
db.collection.createIndex (, (unikalny: prawda)) . Unikalne ograniczenia można również nałożyć na indeks złożony, indeks wielościenny i indeks tekstowy.
2. Indeks częściowy
Częściowe indeksowanie indeksuje dokumenty kolekcji na podstawie określonego filtru lub wyrażenia. Ponieważ indeksy częściowe indeksują, tylko podgrupa wymagań dotyczących miejsca do gromadzenia (pamięci) jest mniejsza, co powoduje również obniżenie wydajności.
Przykład :
db.pupils.createIndex ((name: 1), (niepełnyFilterExpression: (wiek: ($ gt: 5)))
Obsługiwane wyrażenia filtrów:
- $ gt, $ gte, $ lt, $ lte (większa niż, większa lub równa, mniejsza niż i mniejsza lub równa)
- operatory typu $
- $ istnieje: prawdziwa operacja
- Operator równości (eq $)
- Logiczne i lub operacje
3. Indeks TTL
TTL indeksuje specjalny rodzaj indeksów pojedynczych kluczy, które można usunąć z kolekcji MongoDB po przekroczeniu limitu czasu lub w określonym czasie. pomocny.
Przykład:
db.log.createIndex ((„lastModifiedDate”: 1), (expireAfterSeconds: 10000))
4. Indeks rzadki
Rzadkie indeksy indeksują tylko dokumenty zawierające wartość pola indeksu. Ignoruje wszystkie inne dokumenty, które nie zawierają pola. Domyślnie nierzadkie indeksy zawierają wszystkie dokumenty w kolekcjach, gdzie null jest wartością dla tych pól, które nie są obecne.
Przykład:
db.pupil.createIndex ((„age”: 1), (sparse: true))
Indeks nie indeksuje dokumentów, które nie zawierają wieku pola.
5. Indeks bez rozróżniania wielkości liter
Indeksy bez rozróżniania wielkości liter służą do obsługi zapytań, które wykonują porównania ciągów bez względu na rozróżnianie wielkości liter.
Przykład:
db.collection.createIndex ((„key”: 1), (collation:))
Porównanie:
Dokument zestawienia służy do określania reguł językowych, wielkości liter itp. Do porównywania ciągów.
Dokumenty sortowania składają się z następujących elementów:
Wniosek - MongoDB tworzy Indeks
Podsumowując, indeksowanie ma kluczowe znaczenie dla szybszego wykonywania zapytań i zarządzania pamięcią. Indeksy można tworzyć, modyfikować zgodnie z wymaganiami użytkowników i upuszczać, gdy nie są potrzebne.
Polecane artykuły
Jest to przewodnik po tworzeniu indeksu MongoDB. Tutaj omawiamy typy indeksów i opcje indeksowania wraz z przykładami. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej -
- Narzędzia MongoDB
- Co to jest MongoDB?
- Replikacja w MongoDB
- Zalety MongoDB