Решил написать сюда, а не в спец. раздел форума, т.к. не знаю куда там это припихивать.
Пишу тезисно и скрыто от лишних глаз, т.к. эта информация скорей для меня и людей "в теме". Практически, мысли вслух.
На локалхосте я решил попробовать реализовать возможность указания у игры нескольких разработчиков и издателей.
В БД были созданы таблицы:
companies
таблица с данными о фирмах-производителях игр.
Доступные данные:
- title - название компании.
- info - произвольная информация о ней.
- url - ссылка на сайт компании.
game_developers
таблица с привязками компаний (являющихся разработчиками) к играм и наоборот.
Доступные данные:
- gameid - ИД игры
- companyid - ИД компании
game_publishers
таблица с привязками компаний (являющихся издателями) к играм и наоборот.
Доступные данные:
- gameid - ИД игры
- companyid - ИД компании
Обнаруженный нюанс:
- При введении такой системы повышается нагрузка на сервер базы данных при открытии каталога игр. На 1 страницу каталога выводится 80 игр. Соотв. будет делаться как минимум 160 запросов к БД (инфа о разработчике и издателе каждой игры). Это много. Это страшно.
Варианты решения данной проблемы:
- Каким-то образом оптимизировать таблицы game_developers и game_publishers. Возможно слить их в 1 таблицу, и добавить еще одно поле-идентификатор (чем является привязка компании к игре в данной строке - разработчиком или издателем). Этот вариант позволит снизить кол-во запросов примерно в 2 раза. Но 80 запросов это тоже много
- Объединить запрос вывода информации об игре из всех таблиц. Как такое сделать - я пока не представляю. Куча JOIN'ов дико тормозят. Need SQL-guru.
- Убрать вывод данных о разработчике/издателе в каталоге игр. Этот вариант сделан на подавляющем большинстве сайтов про игры (к примеру, Mobygames, AG.RU).
Похожая проблема нас поджидает если вводить мультижанровость у игр.
Если у кого-то будут какие-либо комментарии/вопросы - с радостью их жду.
-
Скрыть объявление
Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.
-
Скрыть объявлениеЕсли Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.
Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
- Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
- Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
- Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
- Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
С уважением, администрация форума Old-Games.RU
Комментарии
Сортировать комментарии по