Aby uzyskać idealną wydajność, klucze fragmentów powinny być wybierane w taki sposób, jak router (mongos
) może określić, który fragment będzie zawierał dane dla najczęstszych zapytań. Jest to możliwe tylko wtedy, gdy find-query ma kryteria, które są również kluczem shard.
Ale w tym przypadku router nie jest w stanie określić, który fragment zawiera dane dla zapytania. Nie jest nieprawdopodobne, że każdy fragment zawiera odpowiednie wyniki. W takim przypadku zapytanie musi zostać przekazane do wszystkich fragmentów, które przetworzą je jednocześnie. Ale kiedy masz odpowiedni indeks, to im w tym pomoże.