Ответы пользователя по тегу MySQL
  • Как лучше расширять БД?

    @JSmitty
    Если не требуется поиска по колонкам, то современные версии MySQL умеют тип json колонок, в которой можно хранить всякие такого рода неструктурированные данные. Или сериализовывать дополнительные данные в строку json, и в текстовом поле сохранять.

    А вообще, переходите на светлую сторону силы - PostgreSQL. У него это всё настолько развито, что запрос с join-ами и поиском в некоторых случаях даже существенно медленнее, против запроса по произвольному json. И есть индексы по json. А применительно к вашему вопросу - в PG из коробки есть типы массивов (т.е. поле может хранить массив значений произвольного размера), varchar[] например для списка ссылок вполне подойдет. И есть синтаксис, как массивы преобразовывать во что угодно, выводить произвольный элемент, делать запросы с их использованием и т.п.

    Классическое решение вам уже подсказали, но в зависимости от конкретных запросов оно может быть очень неэффективно (и потребуется денормализация). Кроме того, да, ограничивать количество ссылок по колонкам - не очень умно (и код более громоздкий получится).
    Ответ написан
    Комментировать
  • Я хочу хорошую библиотеку на PHP для MySQL. Я зажрался, или такое есть и активно используется?

    @JSmitty
    Предложу Eloquent из Laravel framework:
    использование вне фреймворка - https://vkbansal.me/blog/using-eloquent-outside-la...
    документация - https://laravel.com/docs/5.2/eloquent (https://laravel.ru/docs/v5/eloquent)

    Очень просто использовать, есть как query builder, так и Activerecord ORM.
    Ответ написан
    Комментировать
  • Как лучше хранить и модифицировать json конфиг?

    @JSmitty
    Современная версия MariaDB умеет JSON в каком-то виде, плюс MySQL 5.7 тоже имеет поддержку формата. И совсем нелишним будет упомянуть "слона" (PostgreSQL), который уже пару версий как стабильно JSON поддерживает, включая создание индексов по полям внутри таких документов и т.п. Если проект новый - можно попробовать последний вариант, это всяко будет проще, чем использовать абсолютно иной вариант БД (ту же монгу).
    Ответ написан
    Комментировать
  • Не могу придумать как написать поиск по сайту на php?

    @JSmitty
    PostgreSQL из коробки поддерживает полнотекстовый поиск, в т.ч. со словоформами на русском, настраивается базовый уровень очень быстро, всё описано в официальной документации. Есть родная поддержка удаления тэгов, настройки релевантности, синонимы-тезаурусы и прочее, в дальнейшем можно в любую сторону расшириться.
    Ответ написан
    Комментировать