Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Хранение массива в поле MySQL
 
 автор: Sturmvogel   (17.02.2011 в 20:41)   письмо автору
 
 

Скорее этот относится именно к php, нежели к MySQL...

Задача такая: нужно хранить, допустим, id новостей, тем форума или что-то подобное, на которые подписался какой-то пользователь. То есть нужно для какой-то конкретной строки в таблице users хранить в поле subscribe массив этих подписок...

Вопрос в следующем: что лучше использовать для этого:
1) сериализация (serialize)
2) или же implode

В каком случае будет тратиться меньше места для хранения? (думается, что во втором случае) В каком случае будет тратиться меньше времени на обработку этих данных?

  Ответить  
 
 автор: cheops   (17.02.2011 в 20:47)   письмо автору
 
   для: Sturmvogel   (17.02.2011 в 20:41)
 

Лучше все-таки хранить кажду подписку в отдельной строке специально-предназначенной для этого таблице - это в конечном итоге будет всех дешевле и по объему и по времени сопровождения.
Если выбирать из предложенных вариантов, я бы тоже оставновился на implode() - наглядно (т.е. лучше сопровождается) и нет проблем с восстановлением исходного массива (надежно), что иногда случается с серилизованными данными.

  Ответить  
 
 автор: Sturmvogel   (17.02.2011 в 20:52)   письмо автору
 
   для: cheops   (17.02.2011 в 20:47)
 

а вот если у меня допустим, будет такая запись как приватность какой-то записи, где можно указать пользователей, которым доступно чтение какого-то текста...

  Ответить  
 
 автор: cheops   (17.02.2011 в 20:57)   письмо автору
 
   для: Sturmvogel   (17.02.2011 в 20:52)
 

В отдельной таблице, например, пост с номером 27 могут читать пользователи с номерами 56, 102 и 134, тогда таблица доступа может иметь вид
27 56
27 102
27 134

PS Вообще на таблицы лучше не скупиться - в конечном итоге получится всех экономнее и надежнее.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования