[MySQL] Хранение сериализованного массива

Статус
Закрыто для дальнейших ответов.

Indev29

Just Code...
Регистрация
15.08.2012
Сообщения
370
Здравствуйте. Есть массив из 63 элементов. Если по простому, то такой:
Код:
//В тестовом примере создаем массив из 63 элементов, значение каждого = 0;
$array = array(
1 => 0,
);
$i = 1;
while ($i < 63)
{
$i++;
$array[] = 0;
}
//Сериализую так;
$serialized = serialize($array);
//Выводим на экран;
exit (var_dump ($serialized));
При выводе на экран, оказывается, что массив сериализован в строку размером 565 символов. Возможно ли хранение такого объема данных для каждого пользователя и рационально ли оно. Может есть какие-то другие предложения?
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
Если это простой одномерный массив, имеет смысл написать свою ф-ию сериализации и хранить в любом удобном формате, например в CSV...если параметры не будут меняться местами, то это самый экономный вариант.

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

Indev29

Just Code...
Регистрация
15.08.2012
Сообщения
370
Можно подробнее про оба способа, что нужно сделать после получения сериализованного массива, элементы не будут меняться.
 

Indev29

Just Code...
Регистрация
15.08.2012
Сообщения
370
Сделал с использованием BLOB, спасибо!
 

medwoodu

Злобный модер
Регистрация
22.12.2005
Сообщения
1 418
а что эти 63 элемента означают? возможно вам проще сделать через 3 таблицы.
 

Indev29

Just Code...
Регистрация
15.08.2012
Сообщения
370
Каждый описывает статус сектора. Например:
Сектор 1 => 0 (тоесть свободен)
Сектор 2 => 1 (тоесть занят)

Только статусов больше.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ