Что ж, я буду довольно прост - я столкнулся с огромным падением производительности при реализации поиска по дню рождения в моем приложении - я использую LIKE, и это не выражение с левой привязкой (так как формат столбца даты выглядит как YYYY-MM-DD), поэтому я должен был сделать (% - в этом месяце - в этот день ), и этот запрос не может использовать индекс по умолчанию.
Я нашел pg-trgm
вещь, которая на самом деле довольно крутая, но оператор gist / gin_trgm_ops не поддерживает тип "date".Вы можете сказать, что не имеет смысла указывать дату в качестве типа столбца, если я использую LIKE - мне все равно нужно ::varchar
, но я хочу установить строгие правила в своей базе данных, поэтому я прошу совета - есть лиспособ заставить LIKE работать быстрее с датой, или, если есть другие варианты, способ завершить мою задачу (выполнить поиск по дню рождения) с не таким чудовищным временем запроса?