У нас есть ~ 20000 папок, хранящихся в нашей локальной сети, в основной папке, которую я буду называть «папкой», они подразделяются на группы по 1000 в папках с именем 1000-1999, 2000-2999 и т. Д. ... если существует папка - скажем, 5416 , Я хочу вернуть ссылку на него.PHP Является ли это более эффективным или не стоит беспокоиться?
Мой вопроса:
Первоначально я вращался через пункты в «папке», если они были каталог, я разобранное имя текущей папки, чтобы получить нижние и верхние границы, по сравнению ли папка Искали для (5416) попадает в верхнюю и нижнюю границы текущей папки и проверяется, существует ли в ней 5416.
У меня нет проблем с производительностью, но мне пришло в голову, что, возможно, взламывание строк и выполнение сравнений было более дорогостоящим, чем использование PHP-файлов.
Мысли?
Если бы я был на твоем месте я бы бросить вместе быстрый тест и посмотреть, каковы были результаты. Моя кишка говорит мне, что разница будет минимальной. – Mike
Сначала сделайте это, затем сделайте это правильно, затем сделайте это лучше. Но у него есть стоимость: время. – user1254498
Если все папки соответствуют именам, скорее всего, просто заменить '416' в' 5416' на '000' (просто сделать, переведя в целое число и вычитая' 5416% 1000'), конвертировать назад для строки и добавить '-5999', а затем просто сравнить имя каждой папки с этим значением. Что-то в строках '$ folderToFind = '5416'; $ tmp = intval ($ folderToFind); $ tmp = $ tmp - ($ tmp% 1000); $ bounds = ''. $ tmp .'- '. ($ tmp + 999); ' – jonhopkins