Страницы

Поиск по вопросам

пятница, 12 июля 2019 г.

Оптимизация поиска по БД: надо ли делать и как

Нужно искать в БД следующим образом: - по строке объекта из справочника найти запись, которая ссылается на этот объект (проект данного менеджера) - по интервалу дат с точностью до дня или месяца (проекты за последний месяц) - по их объединению Я придумал следующие гениальные оптимизации: Не делаем нормализации, пишем строку из справочника сразу в нашу таблицу. тогда при получении результатов поиска нам не надо делать join, однако придется искать по строке, а не по id, вероятно такой индекс дороже стоит, хотя можно наверное записать и то и то, и искать по id Запоминаем дату как число дней с какой-то даты. Тогда можно будет искать по int, а не по дате, что (возможно) быстрее. Есть ли смысл заниматься такими делами? Понимаю, что все зависит от нагрузки и не надо ничего преждевременно оптимизировать, тут спрашиваю просто про то возможен ли именно такой путь оптимизации, будет ли выигрыш, если заменить поиск до строке или дате на поиск по int


Ответ

Нормализация придумана не просто так. Ответьте себе на 1 простой вопрос: что будет с вашим поиском если значение в справочнике поменяется? P.S. Если значение в справочнике никогда не меняется - то справочник ли это?

Комментариев нет:

Отправить комментарий