olegon
Новичок
Как в базе хранить массивы-переменные разных размеров для игры.
Кто как делает?
Надо хранить массивы-переменные игры в базе.
Я делаю так (не буду пока приводить структуру таблиц - много). Скажу на словах.
Простые числовые и строковые переменные понятно, напр. в табл. Vars0.
Одномерные массивы: их названия и размеры в табл. Vars1_name, их значения в табл. Vars1_value со ссылкой на id из таблицы Vars1_name.
Двумерные массивы: их названия и размеры по i и по j в табл. Vars2_name, их значения в табл. Vars2_value со ссылкой на id в табл. Vars2_name и i-ую строку массива.
Специфика (и достоинство) именно такого хранения переменных в базе состоит в том, что одномерные и двумерные переменные хранятся централизовано в своих таблицах – т.е. не надо для каждой новой переменной выделять отдельную таблицу.
Но есть существенный недостаток: размер таблиц со значениями переменных определяется наибольшим размером массива (наибольшим массивом в таблице имен). Поэтому могут возникать большие пробелы в таблице – там, где значение <NULL>.
Внимание, вопросы:
1. На сколько пользуется популярностью именно такая модель организации переменных на сервере?;
2. И есть ли другие эффективные способы?
3. Может все-таки лучше для каждой двумерной переменной создавать отдельную таблицу и не возится с тем, что я написал вверху?
Кто как делает?
Надо хранить массивы-переменные игры в базе.
Я делаю так (не буду пока приводить структуру таблиц - много). Скажу на словах.
Простые числовые и строковые переменные понятно, напр. в табл. Vars0.
Одномерные массивы: их названия и размеры в табл. Vars1_name, их значения в табл. Vars1_value со ссылкой на id из таблицы Vars1_name.
Двумерные массивы: их названия и размеры по i и по j в табл. Vars2_name, их значения в табл. Vars2_value со ссылкой на id в табл. Vars2_name и i-ую строку массива.
Специфика (и достоинство) именно такого хранения переменных в базе состоит в том, что одномерные и двумерные переменные хранятся централизовано в своих таблицах – т.е. не надо для каждой новой переменной выделять отдельную таблицу.
Но есть существенный недостаток: размер таблиц со значениями переменных определяется наибольшим размером массива (наибольшим массивом в таблице имен). Поэтому могут возникать большие пробелы в таблице – там, где значение <NULL>.
Внимание, вопросы:
1. На сколько пользуется популярностью именно такая модель организации переменных на сервере?;
2. И есть ли другие эффективные способы?
3. Может все-таки лучше для каждой двумерной переменной создавать отдельную таблицу и не возится с тем, что я написал вверху?