indeks MongoDB
Indeks jest zwykle możliwe, aby znacznie poprawić wydajność kwerendy, jeśli nie ma indeks, MongoDB podczas odczytywania danych należy skanować każdy plik w kolekcji i wybierz te rekordy spełniające kryteria zapytania.
To skanowanie cała wydajność kwerendy kolekcji jest bardzo niska, zwłaszcza gdy mamy do czynienia z dużymi ilościami danych, kwerendy może potrwać kilkadziesiąt sekund lub nawet minut, wydajność tej strony jest bardzo śmiertelna.
Indeks jest specjalna struktura danych, indeks jest przechowywany w zbiorze danych, łatwym do odczytania przechodzenie, wartość indeksu jest strukturą tabeli bazy danych lub kolumn do sortowania
Metoda ensureIndex ()
MongoDB wykorzystuje metodę ensureIndex (), aby utworzyć indeks.
gramatyka
Metoda ensureIndex () Podstawowa składnia jest następująca:
>db.COLLECTION_NAME.ensureIndex({KEY:1})
Gramatyka klucz wartość pola indeksu chcesz utworzyć indeks dla rosnącej podano stworzenia, malejąco jeśli chcesz utworzyć indeks -1 może być określona.
Przykłady
>db.col.ensureIndex({"title":1}) >
Metoda ensureIndex (), można również skonfigurować do korzystania z wielu pól, aby utworzyć indeks (relacyjna baza danych o nazwie Composite Index).
>db.col.ensureIndex({"title":1,"description":-1}) >
ensureIndex () odbiera parametry opcjonalne, opcjonalne parametry są wymienione poniżej:
parametr | typ | opis |
---|---|---|
tło | Boolean | Proces indeksowania blokuje innych operacji bazy danych, tworzyć indeksy tła można określić późniejszy etap systemu, co oznacza wzrost o "czerwony" opcjonalnych parametrów. "Czerwony" Wartością domyślną jestfalse. |
wyjątkowy | Boolean | Indeksowanie jest wyjątkowy. Określa, że należy stworzyć unikalny indeks na true. Wartością domyślną jestfalse. |
nazwa | sznur | Nazwa indeksu. Jeśli nie podano, MongoDB, łącząc nazwę pola indeksu i porządek, aby wygenerować nazwę indeksu. |
dropDups | Boolean | Usuń zduplikowane rekordy podczas tworzenia indeks unikatowy, określić prawdziwe stworzenie unikalnego indeksu. Wartością domyślną jestfalse. |
rzadki | Boolean | Dla dane pole nie istnieje w dokumencie nie pozwalają indeksu; parametr ten wymaga szczególnej uwagi, jeśli ma wartość true, wówczas pole indeksu nie kwerendy dokument nie zawiera odpowiednie pole pl Wartością domyślną jestfalse. |
expireAfterSeconds | liczba całkowita | Określ wartość w sekundach dla jednostki, aby zakończyć ustawianie TTL, ustaw czas przeżycia kolekcji. |
v | wersja indeks | Numer wersji Indeks. Domyślna wersja wskaźnika zależy od biegu, gdy mongod stworzyć wersję indeksu. |
wagi | dokument | Masy wskaźnika wartości w zakresie od 1 do 99999, stanowi właściwy zdobyć kolejnego pola indeksu w stosunku do masy indeksu. |
DEFAULT_LANGUAGE | sznur | Dla indeksów tekstowych, parametr ten określa słowa stopu i wynikające z zasad i listy słów. Domyślnym jest język angielski |
language_override | sznur | Dla indeksu tekstowego, który określa nazwy pól zawarte w dokumencie, język zastąpić domyślny język, wartość domyślna jest język. |
Przykłady
Tworzenie indeksu w tle:
db.values.ensureIndex({open: 1, close: 1}, {background: true})
Dodając tło podczas tworzenia indeksu: prawdziwy opcji, pozwalając na tworzenie prac w tle