1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

О введении нескольких разработчиков/издателей к игре.

Автор: SAS · 22 дек 2009 · ·
  1. Решил написать сюда, а не в спец. раздел форума, т.к. не знаю куда там это припихивать.
    Пишу тезисно и скрыто от лишних глаз, т.к. эта информация скорей для меня и людей "в теме". Практически, мысли вслух.

    На локалхосте я решил попробовать реализовать возможность указания у игры нескольких разработчиков и издателей.

    В БД были созданы таблицы:
    companies
    таблица с данными о фирмах-производителях игр.
    Доступные данные:
    • title - название компании.
    • info - произвольная информация о ней.
    • url - ссылка на сайт компании.

    game_developers
    таблица с привязками компаний (являющихся разработчиками) к играм и наоборот.
    Доступные данные:
    • gameid - ИД игры
    • companyid - ИД компании

    game_publishers
    таблица с привязками компаний (являющихся издателями) к играм и наоборот.
    Доступные данные:
    • gameid - ИД игры
    • companyid - ИД компании


    Обнаруженный нюанс:
    1. При введении такой системы повышается нагрузка на сервер базы данных при открытии каталога игр. На 1 страницу каталога выводится 80 игр. Соотв. будет делаться как минимум 160 запросов к БД (инфа о разработчике и издателе каждой игры). Это много. Это страшно.


    Варианты решения данной проблемы:
    1. Каким-то образом оптимизировать таблицы game_developers и game_publishers. Возможно слить их в 1 таблицу, и добавить еще одно поле-идентификатор (чем является привязка компании к игре в данной строке - разработчиком или издателем). Этот вариант позволит снизить кол-во запросов примерно в 2 раза. Но 80 запросов это тоже много :)
    2. Объединить запрос вывода информации об игре из всех таблиц. Как такое сделать - я пока не представляю. Куча JOIN'ов дико тормозят. Need SQL-guru.
    3. Убрать вывод данных о разработчике/издателе в каталоге игр. Этот вариант сделан на подавляющем большинстве сайтов про игры (к примеру, Mobygames, AG.RU).

    Похожая проблема нас поджидает если вводить мультижанровость у игр.
    Если у кого-то будут какие-либо комментарии/вопросы - с радостью их жду.

Комментарии

  1. BoaKaa
    Мои рекомендации ты знаешь. :) Пункт 3.
    Вся расширенная информация пусть располагается на странице с игрой, ей нечего делать в общем списке игр.
  2. Noelemahc
    Третий вариант, ИМХО. И мультижанровость лесом - отмечаем основной жанр, ставим тег мультижанра и пишем ХОРОШУЮ РЕЦЕНЗИЮ. Всё.
  3. SAS
    Значит надо будет придумать, как будет выглядеть обновленный каталог игр :rolleyes:
Чтобы оставить комментарий просто зарегистрируйтесь и станьте участником!
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление