Ответы пользователя по тегу MySQL
  • Почему данные из базы данных не сортируются в PHP PDO?

    yesbro
    @yesbro
    Думаю, помогаю думать
    1) У тебя закрывающаяся фигурная скобка пропущена в приведенном коде.

    2) Запрос правильный, от старых к новым.

    3) Не забывай про защиту от SQL-инъекций, подставляй данные через плейсхолдеры

    4) И самое главное внимательно посмотри на свои if. Ты всегда выводишь реплики только одного участника чата.
    Ответ написан
  • Зависит ли скорость записи в БД от количества в ней записей?

    yesbro
    @yesbro
    Думаю, помогаю думать
    1. Меняется/Зависит ли как-то скорость записи в таблицу БД от количества записей в таблице?


    При добавление записи в таблицу обновляются индексы (если они там есть), так что чем больше таблица тем медленнее будет запись (если в таблицы есть индексы кроме primery key). Это можно заметить если начать добавлять большое кол-во строк (построчно) в таблицу с индексами. Сперва добавление будет идти быстро, потом все медленнее и медленнее. Один из способов борьбы с этим - пакетное добавление.
    Ответ написан
    Комментировать
  • Как увеличивать счетчик в условиях конкуренции?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Да, лучше использовать конструкцию

    insert into foo (entity_id, count)
    values (8, 1)
    on duplicate key update count = count + 1;
    Ответ написан
    3 комментария
  • Как можно ускорить выполнение SQL запроса?

    yesbro
    @yesbro
    Думаю, помогаю думать
    План запроса, пожалуйста :)

    Результат запроса полностью помешается в память? peak_memory_used (из EXPLAIN filesort_summary) больше чем sort_buffer_size из настроек базы?

    Запрос похоже никак не оптимизировать. Вот обсуждение подобной проблемы https://stackoverflow.com/questions/75306623/order...

    Надо или тюнить mysql или думать над каким-то кешированием/промежуточными расчетами (хотя пока не вижу что тут можно кешировать).
    Ответ написан
  • Как сделать сортировку по двум полям?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Думаю, что lesson_number у тебя текстовое поле, если поменяешь на целое число, то заработает как надо :)

    Ну или можешь в запросе привести тип к числу. Почитай вот это https://stackoverflow.com/questions/7792738/numeri...
    Ответ написан
    Комментировать
  • Как определить пропускную способность сервера?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Какая у тебя нагрузка на сайт? Какой сервер? Какая у него загрузка? Если нагрузка небольшая и сервер не забит чем-то еще и тормозит, то можешь не париться и делать через update. На куче WP-сайтов так и работает :)

    На большом проекте, как верно сказали выше, так делать не надо. Нужно отдельное специлизированное решение.
    Ответ написан
  • Как считать количество товаров которые подходят для фильтров?

    yesbro
    @yesbro
    Думаю, помогаю думать
    А как это должно работать? Тут телепатов нет. Я тебе сходу могу набросать несколько разных вариантов реализации и подсчета кол-ва товаров в категориях. :)

    Подозреваю, что тебе нужна информацию по запросу "фасетный поиск" в Яндексе. Это если кол-во товаров в каждой категории меняется при измение кол-ва выбранных категорий.

    Если нет, то это обычный select category_id, count(*) from products group by category_id (условно). Лучше тогда эти данные кешировать.

    В практическом плане можешь использовать elasticsearch раз стоит тег php, там такая фича есть (фасетный поиск).
    Ответ написан
    2 комментария