Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Есть возможность хранить массив в поле? / 18 сообщений из 18, страница 1 из 1
09.12.2018, 16:29
    #39744960
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
MariaDB 10.3.11, MyISAM

Из инета получаю данные, в которых для каждого объекта возможно несколько значений (например, для человек указаны языки, которыми он владеет, и их может быть несколько). Получается таблица вида: id, language, в которой поле id является ключевым индексом.

Есть какой- то симпатичный способ сохранить подобные данные в одной записи, используя 1 массив для всех языков? Возможно придется поменять тип таблицы, но надо чтобы таблица была нетранзакционной, чтобы БД не распухла, храня все промежуточные транзакции.
...
Рейтинг: 0 / 0
09.12.2018, 16:34
    #39744962
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
Робя, универсальный прием под названием "сериализация" не подходит: надо быстро читать данные.
...
Рейтинг: 0 / 0
09.12.2018, 18:45
    #39744988
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
AlekseySQL,

а чем не устраивает таблица ?
id
id_user
id_language
...
Рейтинг: 0 / 0
09.12.2018, 21:19
    #39745017
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
AlekseySQLчтобы БД не распухла, храня все промежуточные транзакции.?????
...
Рейтинг: 0 / 0
10.12.2018, 00:09
    #39745047
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
вадяAlekseySQL,

а чем не устраивает таблица ?
id
id_user
id_language

Тем, что слишком много раз повторяется id_user, которое к тому же является индексом: это сильно увеличивает обьем БД. К тому же не везде надо видеть отдельно все элементы по нужному id, а наоборот получать их единым массивом (тоже касается выборок, при которых данные разнесенные по отдельным записям при соединениях сформируют очень большую выборку).
...
Рейтинг: 0 / 0
10.12.2018, 00:11
    #39745049
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
вадяAlekseySQLчтобы БД не распухла, храня все промежуточные транзакции.?????

InnoDb хранит в базе все транзакции "от Адама", чтобы любую из них можно было откатить. Это в разы увеличивает обьем БД.
...
Рейтинг: 0 / 0
10.12.2018, 00:50
    #39745055
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
AlekseySQLвадяпропущено...
?????

InnoDb хранит в базе все транзакции "от Адама", чтобы любую из них можно было откатить. Это в разы увеличивает обьем БД.Спорим, Вы не найдете этому подтверждения ни в документации, ни в исходных кодах MySQL?
...
Рейтинг: 0 / 0
10.12.2018, 10:36
    #39745158
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
miksoftСпорим, Вы не найдете этому подтверждения ни в документации, ни в исходных кодах MySQL?

В топике этой темы указано конкретное место, где это подробно расписано с картинками.
...
Рейтинг: 0 / 0
10.12.2018, 11:36
    #39745191
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
AlekseySQLmiksoftСпорим, Вы не найдете этому подтверждения ни в документации, ни в исходных кодах MySQL?

В топике этой темы указано конкретное место, где это подробно расписано с картинками.

или вы не так прочитали или автор.
...
Рейтинг: 0 / 0
10.12.2018, 14:43
    #39745381
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
AlekseySQLЕсть какой- то симпатичный способ сохранить подобные данные в одной записи, используя 1 массив для всех языков?
Нет. Нарушение первой НФ всегда карается геморроем.

Но вообще-то полю (особенно двоичному) сугубо всё равно что в него записывают.
...
Рейтинг: 0 / 0
10.12.2018, 14:59
    #39745393
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
AlekseySQLЕсть какой- то симпатичный способ сохранить подобные данные в одной записи, используя 1 массив для всех языков?Храните в JSON, Ваша версия его понимает.
...
Рейтинг: 0 / 0
10.12.2018, 15:15
    #39745406
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
Dimitry SibiryakovAlekseySQLЕсть какой- то симпатичный способ сохранить подобные данные в одной записи, используя 1 массив для всех языков?
Нет. Нарушение первой НФ всегда карается геморроем.

Но вообще-то полю (особенно двоичному) сугубо всё равно что в него записывают.

Спасибо, тоже прихожу к идее хранить двоичные данные. Другого варианта походу нет.
...
Рейтинг: 0 / 0
10.12.2018, 15:19
    #39745407
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
AlekseySQLСпасибо, тоже прихожу к идее хранить двоичные данные. Другого варианта походу нет.тогда надо идти до конца - всё хранить в файлах - и придумывать ничего не надо.
а лучше в распечатках.
...
Рейтинг: 0 / 0
10.12.2018, 17:05
    #39745494
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
вадяAlekseySQLСпасибо, тоже прихожу к идее хранить двоичные данные. Другого варианта походу нет.тогда надо идти до конца - всё хранить в файлах - и придумывать ничего не надо.
а лучше в распечатках.

Иногда значения сами по себе ничего не значат (а смысл появляется только при рассмотрении совокупности). Например, какие- нибудь настройки системы или данные для анализа с помощью BigData.
...
Рейтинг: 0 / 0
10.12.2018, 18:09
    #39745537
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
AlekseySQLИногда значения сами по себе ничего не значат (а смысл появляется только при рассмотрении совокупности). Например, какие- нибудь настройки системы или данные для анализа с помощью BigData.ну дак и записывай их в файлы какие проблемы? зачем лишний труд - в базу сохранять?
...
Рейтинг: 0 / 0
10.12.2018, 18:50
    #39745561
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
AlekseySQLТем, что слишком много раз повторяется id_user, которое к тому же является индексом: это сильно увеличивает обьем БД. ты сам себе противоречишь. тебе надо быстро и без индексов - такого не бывает.

AlekseySQLК тому же не везде надо видеть отдельно все элементы по нужному id, а наоборот получать их единым массивом (тоже касается выборок, при которых данные разнесенные по отдельным записям при соединениях сформируют очень большую выборку).ну дак надо научиться делать запросы и не будет такого утверждения.

с одной стороны пафосные утверждения, с другой - демонстрация не умение работать с базой. и всё в одном.
AlekseySQLInnoDb хранит в базе все транзакции "от Адама", чтобы любую из них можно было откатитьты это проверил? смог что-то откатить к Адаму?
AlekseySQLСпасибо, тоже прихожу к идее хранить двоичные данные. Другого варианта походу нет.ну ещё раз любая файловая система хранит в двоичных данных любую инфу. незачем субд напрягать, это ж какие затраты.
...
Рейтинг: 0 / 0
10.12.2018, 23:27
    #39745667
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
AlekseySQLmiksoftСпорим, Вы не найдете этому подтверждения ни в документации, ни в исходных кодах MySQL?

В топике этой темы указано конкретное место, где это подробно расписано с картинками.Проверил. Как я и думал, там нет ни слова про "все транзакции "от Адама", чтобы любую из них можно было откатить".
...
Рейтинг: 0 / 0
12.12.2018, 10:12
    #39746477
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть возможность хранить массив в поле?
miksoftAlekseySQLпропущено...


В топике этой темы указано конкретное место, где это подробно расписано с картинками.Проверил. Как я и думал, там нет ни слова про "все транзакции "от Адама", чтобы любую из них можно было откатить".

Сожалею.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Есть возможность хранить массив в поле? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]