Хранение файлов в БД

  • Автор темы Автор темы Implex
  • Дата начала Дата начала

Implex

Guest
Почитав форум, понял, как тут не любят, када файлы грузят в бд. Но вопрос у меня остался.
Есть большой объем данных. Порядка нескольких метров. Нужно залить в поле BLOB. Возможно ли это сделать на пхп? Т.е. я видел здесь вариант заливки через INSERT, после addslashes, но я не знаю, какое ограничение по размеру заливаемых таким способом данных. Подскажите, кто знает. Или подскажите другой способ, если он есть. Через mysqli_stmt_send_long_data не годится - сыро совсем, есть глюки.
В общем, прошу совета спецов.
ЗЫ. Рассуждения на тему "зачем это надо" и "ты ламер, так никто не делает" мне не нужны. Если по существу ответить не можете - можете не отвечать.
 
INSERT'ом не заливают, а вставляют..
для начала почитай про типы данных в mysql, BLOB - 65535 байт max.
вставка - insert , если даже какие-то ограничения есть ты их заметишь и сам.
 
Уточним для буквоедов.
Поле типа LONGBLOB.
Максимальный размер вставляемых данных заранее неизвестен. Мне не нужна ошибка, которая вылезет неизвестно когда. Если кто знает максимальный размер данных, которые возможно вставить в поле инструкцией INSERT и UPDATE, подскажите. Если не знаете - прошу не беспокоиться.
ОФФ. Приношу извинения за синтаксические, орфографические и стилистические ошибки, возможно допущенные мной ранее. Я думал тут форум по PHP, а не по русскому языку.
 
я сам себе хостер. соболезнования принял.
 
Коллега Camillo, Ваше упорство достойно восхищения. В тоже время, остается сожалеть о том, что вы можете потратить много времени на то, что бы понять элементарные вещи, излагаемые на курсах по программированию (я про безполезность "хранения в базах файлов".

Implex, если не секрет, что это за "большой объем данных"? К меня, как правило, бывали случаи наоборот: объем не большой, правда, записей до хрена...
 
Большой относительно конечно, думаю вряд ли превысит 2МБ на одну запись. А количество записей - порядка 70 тыс и будет расти.
 
И еще такой вопрос. Я не являюсь ярым поклонником хранения файлов в бд или в фс. Я поклонник простоты и надежности. Кто знает, какие подводные камни вылезут, если хранить такое количество (70-100 тыс.) файлов в одной директории? Классифицировать их по какому-либо признаку с целью создания древа директорий не удастся, если только весь объем поделить так, чтоб в одной директории хранилось не более N файлов? Но это неудобно и потенциально глюкаво.

-~{}~ 18.03.05 09:37:

2 метра пролезет
А сколько не пролезет? :) И от чего зависит?
Видимо придется выяснять опытным путем.... :)
 
если не умеешь пользоваться интернетом, то таки да - только опытным.
 
max_allowed_packet - The maximum size of one packet. The message buffer is initialised to net_buffer_length bytes, but can grow up to max_allowed_packet bytes when needed. This value by default is small, to catch big (possibly wrong) packets. You must increase this value if you are using big BLOB columns. It should be as big as the biggest BLOB you want to use. The protocol limits for max_allowed_packet is 16M in MySQL 3.23 and 2G in MySQL 4.0.
 
yugene, спасибо огромное.
Фанат - не стоило утруждать себя столь информативным постом.
 
я сам разберусь, чем мне утруждаться, без ламерских совтеов
 
Вы че? Попутали? Фанат, я чем тебя задел? Вопросом своим? Лень отвечать, или не знаешь (скорее всего) - я же просил - не отвечай. Крокодил, а что значит не прибегай? Я не прибегаю и не убегаю. Я просто спросил совета. Ищу способ сократить время на поиск решения. Вы че, родились и все знали уже? Или влом вместо ахинеи написать: так мол и так, смотри доки по MySQL, там что то с максимальным размером пакета связано.

Не надо считать себя самими умными, это все равно не так.
 
а что - на твои вопросы могут отвечать только самые умные?
если нет, то оставь свои советы а тему когда, кому и что отвечать, при себе
 
Сверху