Картинки возвращаются-2
«When using a normal web server setup, images should be stored as files. That is, store only a file reference in the database. The main reason for this is that a normal web server is much better at caching files than database contents. So it it’s much easier to get a fast system if you are using files». (С) Официальная документация MySql, «5.2.12 Other Optimisation Tips».
Господа, вы, извините, заебали... удивляете своей тупостью и особенно — упрямством. Когда с вами спорят, должно же хотя бы закрасться подозрение, что вы не правы, или нет?.. Не надо говорить всякие вещи, которые вы не понимаете, про «а вот ext2fs занимает столько-то, а MySql — это три файла» и прочее. И не надо говорить, что 10000 файлов не кэшируется, а если это запихать все в одну базу данных — оно сразу же отчего-то начнет кешироваться. Следуя вашей логике, нужно завести Специальную Базу Данных и хранить все маленькие файлы именно в ней, одним файлом — чтобы рабтало все быстрей. Ну так заведите ее на своем компьютере. И вообще, не храните у себя много файлов — система будет тормозить. Точно говорю.
Перечитайте еще раз главу пять (MySQL Optimisation) и плюс к этому механизм работы BLOB’ов — чтобы понять, какие они тормозные.
PS. Тесты MySql vs Files
Картинки возвращаются
Продолжая про картинки в базе. Вот это сообщение.
Народ, однако, упорно комментирует, наглядно показывая выскоий уровень своего непонимания: «К тому-же у картинок могут быть другие атрибуты, которые нужно читать/менять (например счетчики)».
Господа, блин, возьмите и почитайте ДОКУМЕНТАЦИЮ. Ну хоть раз, для разнообразия, а? В частности — главу 5.
И потом — никто не мешает в базе данных хранить все нужные аттрибуты: размер картинки, счетчики, и проч. и проч., но не хранить саму картинку, а путь до нее. Разве это не понятно?
Хоть садись и заметку на тему «MySql abuse» пиши, честное слово. Да, кстати, я сейчас очень медленно и неторопливо пишу одну вещь на MySql. Так вот, например, блок разбора ЧПУ, который понимает неограниченное количество вложенных рубрик, типа site.ru/news/world/iraq/propaganda_bullshit/ — знаете, сколько раз обращается к БД, чтобы правильно разобрать подобный УРЛ по рубрикам-подрубрикам?..
MySql vs Files
Ну, если про хранение текстовой информации еще можно поспорить — и совершенно справедливо — то некоторые вещи меня удивляют. Использовать MySql для хранения картинок... и выдавать их так...
$data = @mysql_result($result, 0, "imageinfouser");
header("Content-type: $type");
echo $data;
Мне даже сказать по этому поводу нечего.
Файлы vs Базы Данных
Дима Киселев (наш админ) перевел статистику на файлы www.livejournal.com/talkread.bml?journal=kiselev&itemid=29545 Он молодец. Говорит, что нагрузка резко упала. Еще бы. Сам я большой сторонник файлов, ибо — ...
---- из аськи
Salvatore: Я же сделал сбор статистики в файл. Нагрузка упала до нуля :) Ненарадуюсь. ----------
В общем, я не пишу заметку по этому поводу, потому что не хочется а) флейма, б) доказывать очевидные вещи. Умные люди сами со временем понимают, где использовать БД, а где — файлы.
Spectator.ru: Дык :) Мне давно пора бы писать заметку «почему и как базы данных сосут». Единственное, что меня останавливает — так это то, что там жуткий флейм поднимется.
Salvatore: Да, флейм поднимется, потому что тема спорная.
Spectator.ru: Спорная конечно.
Salvatore: Но 0% там где вчера было 100 — это круто...
Spectator.ru: Фишка в том, что база данных — это База Данных. А в 90% случаев она используется, как Хранилище Данных. Это разные вещи. :) Идеальное Хранилище Данных — это все-таки файл. А вот Хранилище Упорядоченных Данных — это база данных :) 90% не понимают разницы. В конце концов, все лог-файлы не зря же в файл пишутся. Так что статистика — это тот же лог-файл, по сути дела. А уже потом его можно парсить как угодно.