Поиск по порядковым номерам будет быстрее, чем поиск по строке? - PullRequest
1 голос
/ 13 марта 2012

Я управляю сайтом, и в моей коллекции 4,5 миллиона документов. Мне нужно добавить другое поле для любого документа, было бы около 10 различных строк на все эти 4,5 миллиона. Строка будет выглядеть как «Apache 2.0 Using E».

Мне нужно найти все документы, которые есть, например, в этом поле «Apache 2.0 Using E». Так я должен искать по этой строке, или я должен создать другую коллекцию для всех строк, и чем в моем поиске коллекции 4.5 mil по идентификаторам поля? Конечно, я бы использовал индексы, но поиск по порядковым номерам будет быстрее, чем поиск по строке?

Спасибо.

1 Ответ

2 голосов
/ 13 марта 2012

В целом, поиск числового равенства, вероятно, будет быстрее, чем сравнение строк, что также помогло, потому что размер искомых документов будет меньше. Трудно сказать, однако, будет ли увеличение скорости значительным, поскольку на производительность будет влиять ряд факторов, которые могут затмить сравнение строки и целочисленного сравнения - например, как увеличение размера документов влияет на то, что находится в оперативной памяти, или на выполнение другой запрос для строки каждый запрос медленнее.

Индексы будут намного быстрее.

...