Все сервисы Хабра
Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Закрыть
Задать вопрос
Snewer
@Snewer
PHP
MySQL
Базы данных
Массивы
Какой выбрать способ хранения массивов?
Здравствуйте!
Имеется массив, содержащий только int значения, для каждого пользователя. Каким образом лучше хранить данную информацию?
Требуется:
- Извлекать массивы, находить схождения / расхождения
- Добавлять / удалять значения
Как вариант рассматриваю следующее:
- Массив хранить в РСУБД
- Обрабатывать на стороне клиента (php), и перезаписывать весь массив в бд.
Ищу наиболее рациональный и производительный подход. Спасибо!
Вопрос задан
более трёх лет назад
3470 просмотров
Комментировать
Подписаться
6
Оценить
Комментировать
Facebook
Вконтакте
Twitter
Решения вопроса
2
Андрей Буров
@BuriK666
Компьютерный псих
Воспользуйтесь postgresql, он умеет массивы.
Ответ написан
более трёх лет назад
1
комментарий
Нравится
2
1
комментарий
Facebook
Вконтакте
Twitter
Snewer
@Snewer
Автор вопроса
Спасибо, почитаем.
Написано
более трёх лет назад
Игорь Александрович
@tyanigor
MemcacheDB или Redis. Хранилище ключ - значение.
Поддерживают объединение и разность данных. Высокая производительность и много другого.
Ответ написан
более трёх лет назад
Комментировать
Нравится
1
Комментировать
Facebook
Вконтакте
Twitter
Пригласить эксперта
Ответы на вопрос
2
Илья Лесных
@Aliance
Если на уровне запросов не нужен поиск по одному из чисел - то можно хранить данные в виде "int,int,int" (
implode(',', $array)
). Иначе нужно хранить в отдельной сущности, реализовывая связь многие-ко-многим
Ответ написан
более трёх лет назад
3
комментария
Нравится
3
комментария
Facebook
Вконтакте
Twitter
Snewer
@Snewer
Автор вопроса
Сейчас так и делается. Хорошо ли вообще хранить массивы в бд а обрабатывать на клиенте? Или же 150кб данных не страшно?
Написано
более трёх лет назад
Илья Лесных
@Aliance
@Snewer
слишком абстрактно, чтобы ответить. для обычного малопосещаемого проекта - вполне.
Написано
более трёх лет назад
Snewer
@Snewer
Автор вопроса
@Aliance
планируется большая нагрузка. Массивы хранят ид материалов, алгоритм исходя из нескольких массивов выдает некий материал
Написано
более трёх лет назад
Facetrollex
@Facetrollex
serialize
Ответ написан
более трёх лет назад
2
комментария
Нравится
2
комментария
Facebook
Вконтакте
Twitter
Snewer
@Snewer
Автор вопроса
Наверное вы не поняли вопроса. Данные уже сериализованны. К тому же, хранить в джейсон или через запятую куда экономичнее стандартной сериализации пхп
Написано
более трёх лет назад
Mandor
@Mandor
Тогда уж в BLOB'е, по 4 байта на int.
Написано
более трёх лет назад
Ваш ответ на вопрос
Войдите, чтобы написать ответ
Войти через центр авторизации
Похожие вопросы
PHP
+1 ещё
Простой
Как правильно создать объект класса Request в Workerman?
2 подписчика
20 часов назад
487 просмотров
0
ответов
PHP
Простой
Как установить timezone в php.ini?
1 подписчик
29 мая
85 просмотров
1
ответ
PHP
+1 ещё
Простой
Symfony 6.4 php 8.4 много сыплется deprecated, есть ли пути решения?
1 подписчик
29 мая
120 просмотров
1
ответ
PHP
+2 ещё
Средний
Не работает авторизация через телеграмм для определенного домена, может кто сталкивался с этим?
1 подписчик
29 мая
297 просмотров
0
ответов
PHP
Простой
Как получить родительскую ноду PHPSTAN?
2 подписчика
27 мая
265 просмотров
2
ответа
PHP
+1 ещё
Простой
Как передать аватар пользователя телеграм в телеграм группу?
1 подписчик
26 мая
148 просмотров
0
ответов
MySQL
Простой
Возможно ли сделать такие запросы-замены в таблице?
1 подписчик
26 мая
146 просмотров
1
ответ
PHP
Простой
Как называется такая вложенность в php?
1 подписчик
25 мая
1381 просмотр
2
ответа
MySQL
Простой
MySQL как получить ID родительского поля у которого в разных строках есть значение?
1 подписчик
24 мая
87 просмотров
0
ответов
PHP
Простой
Почему возникает ошибка (T_VARIBLE)?
1 подписчик
23 мая
142 просмотра
1
ответ
Показать ещё
Загружается…
Вакансии с Хабр Карьеры
Middle PHP-developer / PHP-разработчик
Wanted.
До 250 000 ₽
PHP-разработчик
Stoking
•
Пермь
от 200 000 ₽
PHP-разработчик
Wanted.
До 300 000 ₽
Минуточку внимания
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации
Закрыть
Реклама