[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: массив в ячейку БД
Страницы: 1, 2
A_M
Люди добрые, подскажите пожалуйста!
Как правильно и лучше всего записать весь массив в одну ячейку таблицы БД. Нужно чтоб записывались и ключи, и элементы, но так, чтобы это как можно меньше проблем доставляло серверу. И какие характеристики должна иметь эта ячейка в MySql?

Огромное спасибо:)
Michael
Сериализовать в поле типа TEXT.

_____________
There never was a struggle in the soul of a good man that was not hard
Valick
A_M, а почему именно массив? Это в принципе "мертвый груз". Опишите если не секрет физический смысл этого массива.

_____________
Стимулятор ~yoomoney - 41001303250491
A_M
Valick, у Меня неопределённое число чекбоксов, из которых нужно будет запомнить только выбранные. Их огромное количество раз придётся доставать, перезаписывать и использовать.
Игорь_Vasinsky
ну тут 2 варианта

1. сериализация
2. доп таблица для состояний чекбоксов

что для вас предпочтительней то и используйте

имхо - сериализации вполне достаточно

строковое значение, varchar или text смотря как много чекбоксов

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Valick
A_M, на уровне СУРБД вы с этими чекбоксами работать не сможете
В следствии обработки полученных из базы чекбоксов будут формироваться запросы к БД?


_____________
Стимулятор ~yoomoney - 41001303250491
A_M
Игорь_Vasinsky Я думаю что количество чекбоксов может доходить аж до 1000, тогда лучше text?
Valick
Игорь_Vasinsky, три варианта smile.gif
чекбоксы - это 0 и 1, поэтому побитовые операции тут имеют место быть как вариант.


_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
ага. после сериализации ещё мусора добавиться.

Валик, я про такой вариант даже не вспомнил)


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
A_M
Valick, да, будут формироваться запросы к БД! Если грубо сказать, то каждый чекбокс за собой будет держать свою таблицу БД. Имею ввиду, что таблиц столько же, сколько чекбоксов, а использоваться будут только выбранные.
Valick
A_M ohmy.gif
сериализуйте

_____________
Стимулятор ~yoomoney - 41001303250491
Michael
вам нужно перепроектировать структуру базы данных как пить дать.

_____________
There never was a struggle in the soul of a good man that was not hard
Игорь_Vasinsky
ну может и есть смысл всю логику вынести в БД и строить запрос с case, if - но тогда нужна отдельная таблица для состояний чекбоксов



_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
A_M
Michael, в целом смысл таков:
Пользователь выбирает чекбоксы, программа их запоминает! Каждый чекбокс обозначает (чтобы было понятней) тему, в которой может быть огромное количество сообщений. Вот Я думал, что лучше делать под каждую тему свою таблицу с сообщениями, и чекбоксы тут нужны только для того чтобы подключать определённую тему или нет. А чекбоксы записывать в ячейку таблицы, в которой хранится вся информация о пользователе:)

Как Вы считаете, это плохой вариант? Но количество сообщений и этих тем может быть огромным.
Valick
Цитата
Как Вы считаете, это плохой вариант?

это очень плохой вариант
как только попробуете что-то поискать в сообщениях...

_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.