У меня есть два набора из тридцати или сорока идентификаторов, набор A и набор B. У меня есть вид объекта, который имеет поле idA (идентификатор, который может быть в наборе A) и поле idB (идентификатор, который может бытьв наборе B).Я хочу найти все объекты с idA в наборе A и idB в наборе B.
Я мог бы выполнить запрос с фильтрами типа "A.contains (idA) && B.contains (idB)", ноЯ беспокоюсь о том, сколько времени это займет.С 30 идентификаторами в A наивная реализация может выполнить 30 сравнений на несоответствующий объект в хранилище данных.Или, может быть, хранилище данных сортирует A и B, прежде чем оно будет проверено, и будет делать только 4 или 5 сравнений на сущность в хранилище данных.Или, может быть, что-то, что Google понял, чего у меня нет, могло бы быстро пропустить сущности.
По сути, я пытаюсь выяснить, как выглядит индекс для такого запроса, и если этоэто ужасный запрос для запуска.Может быть, он упорядочивает по idA, затем по idB и сортирует A и B перед тем, как запрос действительно будет выполнен?
Основной вопрос: с 30-40 элементами в A и B будет запрос с фильтрами "A.contains(idA) && B.contains (idB) "выполнить в течение разумного периода времени или я должен попытаться получить эту информацию другим способом?