- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Имеется:
- linux+apache+mysql+php
- php скрипт, который читает содержимое каталога /some/dir, который в свою очередь содержит N файлов и вложенных директорий и выводит список найденного.
- имеется таблица в бд, в которой имеется полный список файлов и каталогов содержащихся в /some/dir
Так вот собственно вопрос: что будет экономичнее с точки зрения ресурсов ПК, считывать содержимое каталога средствами php или же извлекать эту информацию из БД ?
P.S.: фс ext4 если это имеет значение. Если имеет - объясните почему?
Оба варианта могут работать достаточно быстро.
Думаю, что разница в скорости будет не очень большой.
Выбирать нужно в зависимости от архитектуры задачи.
В mysql для ускорения выборки можно создать индексы.
В случаи с файлами можно организовать их в виде многоуровневого дерева в папках.
Если скорость для вас критична, реализуйте оба варианта и сравните их скорость с помощью ab.
Оба варианта могут работать достаточно быстро.
Думаю, что разница в скорости будет не очень большой.
Выбирать нужно в зависимости от архитектуры задачи.
В mysql для ускорения выборки можно создать индексы.
В случаи с файлами можно организовать их в виде многоуровневого дерева в папках.
Если скорость для вас критична, реализуйте оба варианта и сравните их скорость с помощью ab.
Ну если даже представить ситуацию в обоих случаях.
При первом запросе и в том и в другом случае задействованна ФС, в первом случае данные читаются с диска напрямую, во втором случае данные читаются из БД, которая в свою очередь тоже на диске. При втором запросе, в первом случае данные читаются с диска напрямую, во втором случае данные будут читаться уже из кэша который в свою очередь находится уже в памяти а не на диске. Получается выигрыш в скорости, не?
Да, скорее всего в mysql чтение строк таблицы происходит быстрее чем списка файлов с диска.
правильно, тут нужно выбирать от ситуации, если к примеру ваш диск постоянно загружен - то проще из базу брать т.к. там кеширование можно сделать и т.д., а если у вас нагруженна БД - то возможно проще будет прочесть из FS.
и проще всего попробовать оба варианта.
---------- Добавлено 21.01.2013 в 13:09 ----------
Да, скорее всего в mysql чтение строк таблицы происходит быстрее чем списка файлов с диска.
а если всё дерево категорий будет в кеше ? тут не факт...
---------- Добавлено 21.01.2013 в 13:13 ----------
еще есть такое решение... можно отслеживать всё и брать только изменения...
http://habrahabr.kz/blog/752.html