Ответы пользователя по тегу MySQL
  • Как правильно спроектировать базу данных музыкальных наград?

    1) А нужна ли вообще таблица awards? Нельзя ли сделать объект типа Enumeration с забитыми константами?
    2) По таблице nomination:
    - type - тот же enum
    - win - как я понимаю если это id, то int
    - nominees - это и можно нормализовать со связью nomination.id
    Ответ написан
    Комментировать
  • Как можно оптимизировать мой код php+mysql?

    Для начала отделите представление от модельной логики, а потом оптимизируйте.
    Ответ написан
  • Можно ли на компьютере с Линуксом поставить Apache + MySQL?

    Начнём с того, что неизвестно что вы собираетесь хостить, может просто статику раздавать. А может приложение тяжелое на Zend Framework.
    Ну и по конфигурации системы абсолютно ничего. Какая архитектура CPU? Какая частота RAM? Сколько у неё каналов? Какой жесткий диск? Это ж всё влияет.
    Ответ написан
    Комментировать
  • Какая нужна скорость для установки сервера с социальной сетью?

    Я юзал почти год веб-сервер с чуть менее десятком сайтов на нём, сидя на Билайне с внешним ip. Уников в общей сумме на 1000 в сутки было, запросов где-то порядка 10000. Проблем с провайдером не было. Правда как нашёл Digital Ocean понял, что держать дома сервер перестало быть целесообразным. Зартаты на энергию + внешний ip были больше, а производительность несущественно ниже.
    Ну а про ненадёжность электросети, из-за которой может отключиться не только своё оборудование, но и провайдерское в доме, думаю и говорить не стоит.
    В любом случае начинать стоит с VPS с возможностью масштабирования, а по мере роста нагрузки уже докупать ресурсы. Когда нагрузка становится реально высокой - вот тогда может и стоит подумать о выделенной железяке в датацентре, своей или в аренду.
    Ответ написан
    Комментировать
  • Имеет ли смысл использовать прямое подключение к бд (mysql) с нескольких клиентов?

    Если исполняемый код синхронно завязан на этой БД, то идея плохая. Все стремятся снизить задержки при работе с БД думаю объяснять не надо.
    Если же это что-то для бекграундных процессов, не завязанных на пользователе, то конечно пожалуй лучшим решением было бы использование VPN для безопасности и скорости. API разрабатывать не вижу никакого смысла в таком случае.
    Ответ написан
    Комментировать
  • Синхронизация MySQL запросов

    Мы используем git репо с миграционниками в виде sql и скрипт phing для развёртывания/отката структуры базы, при чём можно как пошагово накатывать до актуального состояния, так и откатывать. То есть каждый миграционник имеет 2 блока: для наката и для отката.
    Чтобы хранить информацию о текущем состоянии есть табличка в базе.
    Ответ написан
    2 комментария
  • Как организовать структуру БД?

    Могу предложить такой вариант. Делаем табличку cars_usage_profile
    car_id, client_id, elapsed_usage_time,
    где elapsed_usage_time - допустим суммарное время наката клиентом в секундах, если тариф вычисляться будет в коде, и я уверен, что это правильно. Мало ли как завтра захотят ещё обсчитывать, что тогда делать с имеющейся базой?

    История заказов car_usage_history выглядеть тогда может так:
    cars_usage_profile_id, date_start, date_finish,
    откуда можно вычислить легко разницу во времени.

    Далее, при каждом добавлении строчки в историю проката делаем обсчёт времени пользования. Тут есть быстрый вариант, когда можно взять предыдущее значение из cars_usage_profile и прибавить новое, а есть более медленный с пробеганием по всем строчкам истории с указанным cars_usage_profile_id, который если не будет устраивать - можно зафигачить в крон для полного пересчёта времени использования. Чисто так, для спокойствия души, что всё сходится.
    Поиск будет работать очень быстро.
    Ответ написан
    Комментировать
  • PHP+PDO Mysql, не выполняются query после exec с несколькими запросами внутри?

    Я бы предпочёл юзать PDOStatement в любом случае.

    $sth = $db->prepare($sql);
    $sth->execute($params);
    $sth->closeCursor();
    Ответ написан
    Комментировать
  • Тестирование базы данных на PHP (PHPUnit, DbUnit)

    В дополнение к powerman
    Я могу выделить такие ситуации:
    1) тест функционала или классов, не имеющих сильной зависимости от внешних сервисов
    2) тоже самое, но со слишком обширным использованием DAO
    3) интеграционные тексты

    В первом случае можно спокойно мокировать запросы в БД или иные внешние сервисы.
    Во втором случае по возможности использую обертывание в транзакцию и откат в самом конце теста (методы setUp и tearDown). Если нельзя, то тоже самое что в п.3
    В третьем случае делается всё «на живую» в девелоперской среде или использовать тестовую базу и естественно иметь скрипт генерирующий окружение.
    Ответ написан
    Комментировать
  • Выбор БД: MySQL vs MongoDB?

    Насколько мне известно MySQL производительнее MongoDB на простых структурах данных. Смысл в MongoDB только в бессхемности на уровне БД, что правда не отменяет некоторое подобие схем на уровне приложения. И иногда это может работать шустрее RDBMS.

    Если запись в таблицы будет происходить часто и в больших объемах или потребуется хороший механизм транзакций, то я бы посмотрел на PostgreSQL.
    Ответ написан
    2 комментария