Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Как хранить картинки? (evgw) 10/02/2002 - 17:43:31
      Re: Как хранить картинки? (COH) 11/02/2002 - 10:20:07
      Re: Как хранить картинки? (dim-dim) 11/02/2002 - 12:46:40
      Re: Как хранить картинки? (vitek) 12/02/2002 - 16:17:14
      Re: Как хранить картинки? (COH) 14/02/2002 - 01:56:59
      Re: Как хранить картинки? (vitek) 15/02/2002 - 04:28:00
      Re: Как хранить картинки? (Dima) 26/06/2002 - 16:01:45

> Original message text:
> From: evgw - 10/02/2002 - 17:43:31
> Subject:Как хранить картинки?
> -----------------
> Как в БД хранить картинки? Сделать для них какой-нибудь VARCHAR? Или есть какой-то еще способ?
>


From: vitek - 12/02/2002 - 16:17:14
Subject:Как хранить картинки?
-----------------
Недавно наталкивался на поучительную историю о том, что хранить в базе картинки не так уж и плохо, а возможно даже и лучше.

Конкретно говорилось (дословно):

---
А вот интересно было-бы дознаться, откуда это пошло, что хранить картинки в базе - вери плохо...
Кто-то проводил реальные тесты или как?
Обычно приводится два аргумента:
1. BLOB - поля, большие, поэтому они будут сильно тормозить MySQL.
Ok, давайте посмотрим на это с другой стороны. Что должен сделать апачи для того, чтобы выдать картинку: открыть файл, прочитать и вывалить клиенту, закрыть файл. При следующем обращении - то же самое.
Теперь что должен сделать MySQL - seek по известному смещению в уже открытом файле (с очень большой вероятностью), и вывалить клиенту. Кроме того, существует вероятность, что к следующему обращению кусок будет обнаружен в буфере.
Если кто писал на C, или на чем похожем, поймет что первый вариант для системы гораздо более болезненный, чем второй. И апач, и mysql сидят на одном хосте, так что...
2. Это якобы мешает картинкам кешироваться на винте пользователя и в проксях. Кто же мешает в хидере выставить любой Expires? И кэшируйте себе на здоровье.
Если уж на то пошло, то апач сдесь настроен на перекодировку по одному порту, а следовательно если не принимать специальных мер, он будет выдавать "Expires: Thu, 01 Jan 1970 00:00:01 GMT
" Для всех документов.
Если уж так заботится о производительности (и о пользовательском траффике кстати), надо делать перекодировку по портам...
А mysql, имхо, тормозит отсутствие индексов, и текстовые поисковые операции типа LIKE, ну может быть еще джойны, опять же при отсутствии индексов.
Я тут где-то встречал высказывание, что хранить картинки в базе - верх тупости. Интересно, знают ли об этом в НАСА, где-то с полгода назад одно из их подразделений перешло на MySQL, с оракла, картинки звездного неба хранят, и не догадываются ни о чем :-)
---

Дальше ещё чего-то обсуждалось, но потом переросло во флейм.
Моё собственное мнение - никто толком не смог противоречить этому человеку и убедить его в обратном.

Я не сужу. Меня не пинать. Только привожу для размышлений.
Думайте. Хотелось бы ваши мнения выслушать.
А может кому не в лом будет и реальные тесты сделает


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
3405



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |