Показать сообщение отдельно
Старый 26.03.2013, 15:06   #6
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Возможно ли оптимизировать получение данных из двух таблиц

Сразу подмечу, что если у тебя индексация в обоих таблицах хорошо настроина, то запросы будут весьма оптимальны даже при двух запросах.
Но. Тут важна суть не в запросах, а в том кто эти данные получает и что с ними делает.

Например если у тебя игра происходят матчами, и по геймплаю шмот менять можно только между матчами, то при старте матча ты получаешь эти данные один раз, что совсем не критично.
А если можно менять шмот (влиять на бд) во время матча, тогда загружай данные в начале матча, и храни в процессе что обсчитывает матч, и при изменениях - меняй игровые данные и посылай UPDATE в бд, но не перезагружай данные.
Тупой кеш в памяти.

Да и насчёт JSON'а, я тебе настоятельно рекомендую пересмотреть хотя бы на будущее представление о том как данные хранятся в БД. Ты используешь SQL базу данных, с таблицами, но преобразуешь в вложенные JSON документы.
Посмотри в сторону NoSQL баз данных, таких как MongoDB - легко ставиться, очень проста в использовании. Важный плюс в том что там нету таблиц, и всяких JOIN'ов (хотя это сильно влияет на то как данные хранятся, и не всегда подойдёт), зато есть сложные формы объектов, с вложенностями, массивами, хеш таблицами и т.п. Что как я вижу просто идеально подходит под то что ты пытаешься сделать в коде выше.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
pax (26.03.2013), Reizel (26.03.2013)