Люди добрые, подскажите пожалуйста!
Как правильно и лучше всего записать весь массив в одну ячейку таблицы БД. Нужно чтоб записывались и ключи, и элементы, но так, чтобы это как можно меньше проблем доставляло серверу. И какие характеристики должна иметь эта ячейка в MySql?
Огромное спасибо:)
Michael
12.08.2013 - 14:48
Сериализовать в поле типа TEXT.
_____________
There never was a struggle in the soul of a good man that was not hard
Valick
12.08.2013 - 14:52
A_M, а почему именно массив? Это в принципе "мертвый груз". Опишите если не секрет физический смысл этого массива.
_____________
Стимулятор ~yoomoney - 41001303250491
Valick, у Меня неопределённое число чекбоксов, из которых нужно будет запомнить только выбранные. Их огромное количество раз придётся доставать, перезаписывать и использовать.
Игорь_Vasinsky
12.08.2013 - 14:57
ну тут 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
12.08.2013 - 15:00
A_M, на уровне СУРБД вы с этими чекбоксами работать не сможете
В следствии обработки полученных из базы чекбоксов будут формироваться запросы к БД?
_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky Я думаю что количество чекбоксов может доходить аж до 1000, тогда лучше text?
Valick
12.08.2013 - 15:02
Игорь_Vasinsky, три варианта

чекбоксы - это 0 и 1, поэтому побитовые операции тут имеют место быть как вариант.
_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
12.08.2013 - 15:03
ага. после сериализации ещё мусора добавиться.
Валик, я про такой вариант даже не вспомнил)
_____________
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, да, будут формироваться запросы к БД! Если грубо сказать, то каждый чекбокс за собой будет держать свою таблицу БД. Имею ввиду, что таблиц столько же, сколько чекбоксов, а использоваться будут только выбранные.
Valick
12.08.2013 - 15:07
Michael
12.08.2013 - 15:07
вам нужно перепроектировать структуру базы данных как пить дать.
_____________
There never was a struggle in the soul of a good man that was not hard
Игорь_Vasinsky
12.08.2013 - 15:08
ну может и есть смысл всю логику вынести в БД и строить запрос с 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
Michael, в целом смысл таков:
Пользователь выбирает чекбоксы, программа их запоминает! Каждый чекбокс обозначает (чтобы было понятней) тему, в которой может быть огромное количество сообщений. Вот Я думал, что лучше делать под каждую тему свою таблицу с сообщениями, и чекбоксы тут нужны только для того чтобы подключать определённую тему или нет. А чекбоксы записывать в ячейку таблицы, в которой хранится вся информация о пользователе:)
Как Вы считаете, это плохой вариант? Но количество сообщений и этих тем может быть огромным.
Valick
12.08.2013 - 15:21
Цитата |
Как Вы считаете, это плохой вариант? |
это очень плохой вариант
как только попробуете что-то поискать в сообщениях...
_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.