Ограничение объема запроса - PullRequest
0 голосов
/ 27 апреля 2020

Я намерен ограничить объем запросов только базовыми данными и данными, которые были сгенерированы при прохождении игры конкретным игроком. Я полагаю, что это достаточно распространенная ситуация, когда уже существуют стандартные парадигмы, которые более эффективны, требуют меньше памяти и т. Д. c. к тому, что мог придумать мой собственный новичок в базе данных. Есть ли?

Моим первым решением было бы добавить столбец идентификации экземпляра игры к каждой таблице в моей базе данных. Большинство моих операторов Select включают в себя множество объединений таблиц, и я бы сделал многоконтролируемое ON для достижения этого ограничения области. Т.е.

JOIN Table_B
  ON Table_B.field1 = TableA.field2 AND Table_B.gameID IN (xxx ,root_x)

В качестве альтернативы я мог бы использовать существующую таблицу, которая может связать каждый объект данных с другими объектами данных или атрибутами. Я мог бы создать ссылку «экземпляр игры» для каждого объекта обратно на отдельную запись для прогона, но так как некоторые запросы взаимодействуют с дюжиной или более объектами, я беспокоюсь, что это принесет больше вреда времени обработки, чем пользы.

В глубине моих размышлений об этой проблеме я думаю, имеет ли смысл создавать базу данных для каждого экземпляра игры. Запросы будут повторяться для базового набора данных, найденных в базе данных root, и для сгенерированных данных для созданной экземпляром базы данных.

Я использую Java и MySQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...