Задать вопрос
devilsD
@devilsD

Что производительней — сортировка массива средствами php, или выборка и сортировка запросом mysql?

Видел доклад по кэшированию данных в приложениях в которых юзают nosql. В подходе докладчика кэшируются коллекции ключей для каждого варианта выборки и все операции по сортировке уже делают в скрипте.
Например, есть записи post и author;
Для каждого author в кэше будет коллекция post_ids;
Если нужно сделать выборку по 2м авторам, то делается срез массива и получаем результат.
Как данный подход покажет себя в связке php+mysql. Будут ли операции с массивом производительней чем запросы к БД?
  • Вопрос задан
  • 912 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Sergei_Erjemin
@Sergei_Erjemin
Улыбайся, будь самураем...
Если есть индекс по полю для которого строится сортировка -- то mySQL быстрее. И чем больше записей, тем сильнее и сильнее это будет заметно.

В nosql индексов обычно нет и потому там иногда на стороне приложения сортировка быстрее... особенно для сложных запросов... и порой сортировку на стороне базы построить даже сложнее (например, в случае если данные размазаны по кластеру и для сортировки их сначала надо собрать)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Ты видел доклад про то как мучают в аду нерадивых разработчиков.

В нормальной БД все будет работать быстрее и без необходимости использовать, прогревать и инвалидировать кэш.
Вместо того чтобы смотреть доклады, тебе надо купить букварь по базам данных.
Ответ написан
@Vezyk
Технарь
На чем быстрее преодолеть 1км? На феррари, снегоходе или лодке?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽