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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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