Если вы хотите наименьших накладных расходов только для проверки существования, тогда вариант 1, вероятно, то, что вам нужно, так как это прямой поиск. Каждый раз при анализе XML для проверки требуется, чтобы в худшем случае вам пришлось пройти через весь XML-файл. Хотя вы можете выполнять кэширование с помощью варианта 2, но это становится более сложным, чем вариант 1.
При использовании опции 1 вам необходимо помнить, что существует ограничение на количество файлов, которые вы можете хранить в каталоге, поэтому вам, вероятно, придется хранить файлы XML на нескольких уровнях (например, / xmldb / 38/46 / 3846504937540.xml).
Тем не менее, ни один из ваших вариантов не является хорошим способом хранения данных в долгосрочной перспективе, вы обнаружите, что они становятся довольно ограничительными и трудными для управления по мере роста данных.
Люди уже рекомендовали использовать СУБД, и я согласен. Вдобавок ко всему, я бы посоветовал вам рассмотреть базу данных на основе документов, например MongoDB, в качестве базы данных.