Задать вопрос
Ответы пользователя по тегу SQL
  • Можно ли организовать фильтр/поиск товаров посредством JSON_EXTRACT?

    batyrmastyr
    @batyrmastyr
    Сделать можно, но здесь вас ждёт множество граблей:
    1. Крайне неэффективное хранение: объём в разы больше, чем если раскидать по таблицам.
    2. Эффективность индексов по JSON полю: если в постгресе она не особо радует, но можно выбирать между простотой и скоростью работы, то в мускуле есть только убогие костыли с индексированием частей объекта через генерируемые столбцы.
    3. OR = JSON_OVERLAPS, IN = JSON_CONTAINS или разворачивать вручную. И чёрт знает, сработает ли индекс потому, что это функции, а не операторы.
    4. Типизация значений: в JSON можно пихнуть и '3', и 3 и 3.0. Нужно внимательно следить за типами и при сохранении, и при поиске, чтобы всё правильно находилось.

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