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

Где лучше фильтровать данные из БД?

Не знаю как лучше сделать отбор данных, есть табличка в бд в которой 8 полей из них нужно фильтровать данные по 5 полям, думал сделать простым запросом "SELECT * FROM table WHERE col1 = '1' AND col2 LIKE '%2% AND col3 REGEXP '\s''' примерно так, в таблице не более 20 строк, но они периодически меняются. Всего планируется что будет ~600к таких селектов в день и столько же инсертов в другие табличке на основании полученных данных. Или лучше будет получить все данные из это таблице и в php сделать отбор? Очень важна скорость работы скрипта. Mysql выбрал потому что с ним только и работал) Вообщем товарищи эксперты, подскажите как лучше сделать и что можно применить для увеличения быстродействия(другой тип базы,или какой ни будь кеш сделать)
  • Вопрос задан
  • 2398 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
@Aios
Программист - Lite.
SELECT сам по себе быстрый если в нем нет JOIN. 600к строк проблема если серверу уже лет 20 и обрабатывает он как минимум еще около 10к людей.

Почитайте про настройку MySQL
Так же про Индексирование

Ну, а если еще захотите использовать некое кеширование то тут я не силен - скажу только что использую в первом запросе сохранение данных с него в кеш и периодически обновляю ID строк которые туда попадают.

Всего найлучшего!
Ответ написан
Writerim
@Writerim
Заполнить позже...
Полагаю,что проще будет через php. По моему LIKE работает очень медленно и php вроде с этим справится быстрее.
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Если речь о 20-и строках, то вопрос о скорости не имеет смысла. Можешь делать в базе, можешь в скрипте, а можешь попеременно - на скорости это никак не скажется.

В целом же, для нормальных, а не микроскопических баз данных, любую фильтрацию надо делать только в базе.

Поиски же более быстрого решения надо производить только тогда, когда текущее тормозит.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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