![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Mysql, большой blob. как лучше? [MySQL]
Дмитрий С © (2011-06-20 05:00:00)хочу сохранить в поле блоб 2 мегабайта.
В итоге получаю fail: MySQL server has gone away
Вопрос такой: что лучше:
- увеличивать max_allowed_packet
- разбивать запрос на подзапросы:
INSERT INTO `file` SET `name`='...', `content`='<1 часть>';
UPDATE `file` SET `content` = `content` + '<2 часть>' WHERE `id`=..;
UPDATE `file` SET `content` = `content` + '<3 часть>' WHERE `id`=..;
Поймет ли в данном случае сервер, что поле надо просто дописать?
Или, конечно третий вариант - хранить блобы в файлах?
Ega23 (2011-06-21 08:37:00) [1]
> А там чего?
А там нет ограничения на длину одного столбца в записи. Точнее есть, 32ТБ вроде.
sniknik (2011-06-21 07:56:00) [2]> А там чего?
а там другие настройки по умолчанию...
> т.е. смело ставить метров 70 пакет и не париться?
в mssql я могу без всяких ограничений от сервера вкачать в блоб ~ 700мег (ограничения с другой стороны, по памяти в системе).
к тому же это не делает фиксированный массив такого размера, это просто ограничитель на максимальное, а выделять будет столько сколько нужно... т.что смело ставь метров 500... т.е. что то близкое к тому, что "потянет" операционка. (смысл - получить "отлуп" на невозможный размер сразу, а не после того как система займет все память/ресурсы и все одно откажет, в итоге.)
Дмитрий С (2011-06-21 06:13:00) [3]
> Четвёртый вариант - взять Postgres
А там чего?
> sniknik © (20.06.11 11:55) [2]
т.е. смело ставить метров 70 пакет и не париться?
sniknik (2011-06-20 11:55:00) [4]1 мегабайт по дефаулту это очень мало... если работать как с локальной/в локальной сети базой, а не в инете.
Ega23 (2011-06-20 10:55:00) [5]
> Или, конечно третий вариант - хранить блобы в файлах?
Четвёртый вариант - взять Postgres