Где лучше хранить мелкие картинки...?

Selforg

Новичок
Где лучше хранить мелкие картинки...?

На сайте отображается таблица...
В каждой строке отображается по маленькой картинке (от 300 до 600 байт на картинку)
Таблица отображается ОЧЕНЬ часто для пользователей...
Количество записей в БД, которые отображаются в таблицу на данный момент 5000, но будут расти до 100000..., то есть к каждой записи будет по одной картинке...

Так вот варианты:
1) Хранить картинки в БД.
2) Хранить картинки в файловой системе.

Конечно не очень хочется забивать картинками базу, тем более что картинок много...., но "как мне кажется" нагрузка на сайт будет меньше если хранить такие картинки в БД..

Что скажите по этому поводу, как лучше поступить??
 

Фанат

oncle terrible
Команда форума
ага-ага!
конечно, нагрузка будет меньше!
ведь когда вместо одного скрипта по работе с базой, одновременно запускается сто - это такое облегчение серверу - просто курорт!
 

Фанат

oncle terrible
Команда форума
а у тебя есть сомнения на этот счёт?
это расходится с твоими представлениями?
 

Selforg

Новичок
нет.. не расходиться... я просто сначала не учел, что в моем случае я из базы на прямую картинки не выведу в хтмл...
 

Фанат

oncle terrible
Команда форума
Chusha
ты, по-моему, решил оправдать свой ник.
у тебя это получилось на 100%

РАЗНИЦЫ между чем и чем он не заметит?
между дикой нагрузкой на сайт, в 50 одновременных коннектов к базе, и ШТАТНОЙ работой веб-сервера?
 

Selforg

Новичок
Re: Re: Где лучше хранить мелкие картинки...?

Автор оригинала: Chusha
Разницы практически не заметишь для малых размеров картинки и размещении файлов кучками по каталогам. На очень малых размерах и очень большом числе объектов в одном каталоге ФС будет медленнее.
замечу... в моем случае разница будет очень даже ощутимая... 1-й вариант отпадает на 100%
 

Фанат

oncle terrible
Команда форума
Для создания одной страницы(таблицы) картинок вместе с текстом для них, потребуется один запрос к базе
ну-ка расскажи от этом поподробнее.
Для создания 50 РАЗНЫХ (по выборке) таблиц(страниц)
вообще-то, мы говорим об одной странице, а не о пятидесяти.
но мне всё равно интересно
не обязательно 50 "коннектов",
а сколько?
 

FreeSpace

Чукча-читатель
Chusha, как уже правильно заметил Selforg, картинку прямо в HTML ты не выведешь.
Чтобы вывести картинку, нужны будут примерно такие тэги:
<img src="image.php?id=31337"/>

А теперь представим, что на странице 10 подобных картинок.
Как только браузер получит и распарсит HTML, он выполнить 10 запросов к скрипту image.php (с разными параметрами), который в свою очередь откроет 10 подключений к БД.

А вместо этого можно было всего лишь отдать эти 10 картинок стандартными средствами веб-сервера, без дополнительной нагрузки на БД вообще.
 

Фанат

oncle terrible
Команда форума
Кхех =)
Тогда тебе надо было чётче излагать твою мысль.
поскольку звучала она, как будто ты предлагаешь картинки с сервера яваскриптом тягать
если javascript позволяет создавать картинки из двоичных строк
мне такая технология неизвестна
 

FreeSpace

Чукча-читатель
Коль уж вспомнили про схему data:, то можно прокомментировать - javascript может получить с сервера base64-encoded картинку и установить атрибут src элемента img в правильно сформированный URI со схемой data:.
Но это изврат с весьма ограниченным применением, так что он имеет чисто академическую ценность :)
 

vonica

Новичок
Chusha
JSCRIPT зачем Вам, я думаю для опредления высоты и ширины картинки, так это легко сделать средствами пхп, даже намного проще чем явой.
 

Фанат

oncle terrible
Команда форума
а вот Chusha, тебе пример типичного посетителя этого форума...
 

romy4

invoke [brain]
Автор оригинала: FreeSpace
Chusha, как уже правильно заметил Selforg, картинку прямо в HTML ты не выведешь.
выведешь, и хтмл, и в css. например, пустой гиф в цсс:
Код:
url('data:image/gif;base64,R0lGODlhAwAMAIAAAPPz8+/v7ywAAAAAAwAMAAACCIwPqYeabFwqADs=');
или в хтмл:
Код:
<img src="data:image/gif;base64,R0lGODlhDwAPAKECAAAAzMzM/////
wAAACwAAAAADwAPAAACIISPeQHsrZ5ModrLlN48CXF8m2iQ3YmmKqVlRtW4ML
wWACH+H09wdGltaXplZCBieSBVbGVhZCBTbWFydFNhdmVyIQAAOw=="
alt="Base64 encoded image" width="150" height="150"/>
пример в нете: http://dean.edwards.name/my/base64-ie.html
советую зайти по ссылке и посмотреть код, так как без ЯС и ПХП там не обойтись:)
 

Selforg

Новичок
Автор оригинала: romy4
пример в нете: http://dean.edwards.name/my/base64-ie.html
советую зайти по ссылке и посмотреть код, так как без ЯС и ПХП там не обойтись:)
Это уже интересно... правда не очень понравилось название Base64 Encoded Images for Internet Explorer...., хотя в Опере 9 работает....

-~{}~ 28.08.06 18:30:

но я всё-таки пока остановлюсь на хранении в ФС....
Если в будущем возникнут проблемы, то реализую и этот вариант... сравню...
 

FreeSpace

Чукча-читатель
romy4, я в курсе этого способа.
Я даже давал ссылку на статью в Википедии на эту тему, но это было в альтернативной реальности.

Штука эта очень занимательная, но пока что относится к той же категории "академических интересностей", т.к. под IE не работает.
 

it-master

Новичок
Автор оригинала: vonica
Chusha
JSCRIPT зачем Вам, я думаю для опредления высоты и ширины картинки, так это легко сделать средствами пхп, даже намного проще чем явой.
:D Ну ты зарядил =))
вчитайся в сообщения....
 

kruglov

Новичок
Угу, а теперь посчитайте, сколько будет весить страница с такими картинками. И как все это благообразие будет кэшироваться.

-~{}~ 28.08.06 22:40:

Chusha
Пример одинаково отображается как в Opera-последняя так и в IE-ver6.
У меня в Опере 9 у нижних "лапок" какие-то разнообразия в цвете видны.
 
Сверху