Помощник
Здравствуйте, гость ( Вход | Регистрация )
|
|
7:01:2008, 12:01
|
|
Новенький ![]() Группа: Программист Сообщений: 23 Регистрация: 23:10:2006 Из: Молодечно Пользователь №: 7 314 Специализация: web-developer Репутация: 0
|
Народ, ай нид хелп.
Как в таблицу добавить картинку там или просто какой-нить файл, а потом нормально оттуда выдрать? А то очень нада, чтоб все одним куском лежало. |
|
Сообщение
#1
|
|
![]() |
|
|
8:01:2008, 23:32
|
|
Новенький ![]() Группа: Программист Сообщений: 16 Регистрация: 6:01:2008 Пользователь №: 14 623 Специализация: web-programming Репутация: 0
|
dlya dobavleniya kartinki v bazu dannyh, nujno snachala ee prochitat', zatem vstavit' dannye v pole s tipom binary.
No etogo delat' ne sleduet, potomushto tem samym vy budete sil'nee nagrujat' mysql - poyavyatsya lishnie zaprosy, luche hranite kartinku v special'noi papke, a v tablice ih url i local'ny adress. |
|
Сообщение
#2
|
|
|
|
9:01:2008, 07:42
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
Цитата(diff @ 9:01:2008, 01:32 ) potomushto tem samym vy budete sil'nee nagrujat' mysql Где такое написано? |
|
Сообщение
#3
|
|
|
|
9:01:2008, 08:00
|
|
Новенький ![]() Группа: Программист Сообщений: 16 Регистрация: 6:01:2008 Пользователь №: 14 623 Специализация: web-programming Репутация: 0
|
|
|
Сообщение
#4
|
|
|
|
9:01:2008, 11:26
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
Цитата(diff @ 9:01:2008, 10:00 ) poyavyatsya lishnie zaprosy Да с какого перепуга? Цитата(diff @ 9:01:2008, 10:00 ) ne vse napisanno v knigah, ochen' mnogoe uznaesh' vo vremya raboty(na praktike) Практика показывает совсем иное. |
|
Сообщение
#5
|
|
|
|
9:01:2008, 12:25
|
|
Новенький ![]() Группа: Программист Сообщений: 23 Регистрация: 23:10:2006 Из: Молодечно Пользователь №: 7 314 Специализация: web-developer Репутация: 0
|
to sax_ol
а можно немного поподробнее и поконкретнее? а то я второй раз справочник Викрама Васвани перечитал и ничего не нашел |
|
Сообщение
#6
|
|
|
|
9:01:2008, 12:38
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
Для: zloi
PHP или как? |
|
Сообщение
#7
|
|
|
|
9:01:2008, 14:00
|
|
Новенький ![]() Группа: Программист Сообщений: 16 Регистрация: 6:01:2008 Пользователь №: 14 623 Специализация: web-programming Репутация: 0
|
|
|
Сообщение
#8
|
|
|
|
9:01:2008, 14:06
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
Для: diff
Ну вот как раз, наоборот, вы высказав мысль, ничем ее не подтвердили, ни Словом ни Делом. За сим делаю вывод, что флудер именно вы. |
|
Сообщение
#9
|
|
|
|
9:01:2008, 14:14
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 816 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Специализация: C++ Репутация: 31
|
Для: diff
Если Вы хранитель Высших знаний, то поделитесь ими с народом и не нада хорохорится. Конкретно ответьте на вопрос: что такое лишние запросы и откуда они берутся? |
|
Сообщение
#10
|
|
|
|
9:01:2008, 17:54
|
|
Новенький ![]() Группа: Программист Сообщений: 23 Регистрация: 23:10:2006 Из: Молодечно Пользователь №: 7 314 Специализация: web-developer Репутация: 0
|
to sax_ol
и PHP в том числе, но не только, так, для общего развития тоже. если Вы хотите дать пример, то можно на PHP, разберусь |
|
Сообщение
#11
|
|
|
|
9:01:2008, 20:31
|
|
Новенький ![]() Группа: Программист Сообщений: 16 Регистрация: 6:01:2008 Пользователь №: 14 623 Специализация: web-programming Репутация: 0
|
ya ne horohorus', prosto eto ochevidno.
izvenite, ya ne hotel nikogo obidet' ili isportit' nastroenie, a tem bolee nachinat' spory. vot moi argument: lishnii zapros, eto k primeru zapis' izobrajeniya v DB, a zatem ego zagruska, eto kazaetsya DB, a escho nujno budet pisat' obrabotchik na kakom-nibud' yazyke(php\perl\etc), kotory budet ee vyvodit eto toje zatraty po proizvoditel'nosti. v celyah experementa ochen' udobno napisat' takoe prilojenie(dlya sebya), no esli u vas skajem poseshaemost' 10000-100000 uniq\daily, to optimizaciya budet neobhodima dlya snijeniya nagruzki na vash server ili vds, zachem potom podnimat' etot vopros, esli mojno srazu etogo izbejat'. Сообщение отредактировал diff - 9:01:2008, 20:40 |
|
Сообщение
#12
|
|
|
|
10:01:2008, 07:44
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
Для: zloi
http://www.phpbuilder.com/columns/florian1...014.php3?page=1 тут не только пример, а как инструкция, для РНР, но суть для чего угодно. |
|
Сообщение
#13
|
|
|
|
10:01:2008, 08:08
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
Цитата(diff @ 9:01:2008, 22:31 ) lishnii zapros, eto k primeru zapis' izobrajeniya v DB, a zatem ego zagruska Ничего не понял, но ... в любом случае, вам надо в базу что то записать, толи это сама картинка, толи это путь к картинке на диске, толи еще чего (не суть важна) ну и соответственно читать потом это, и как видите никаких неразумных лишних запросов не наблюдаеться. Работа с СУБД, по определению, быстрее чем работа с файловой структурой, хотя сама файловая структура и напоминает реляционную модель. Обработку надо писать всегда, на чем бы то нибыло, иначе смысл всей сей кухни - мне непонятна, может вы что-то другое знаете? Затраты будут всегда, и только программист и конкретика может решить, какие когда и как их снизить. Выбор сабжа зависит совсем от других причин. К примеру логикой приложения, настройкой систем, ходящих в приложение (к примеру кэширование данных) и т.д. можно свести затраты к минимуму. Но я не агитирую всех и всегда держать картинки в базе либо наоборот. Всегда надо подходить к задаче творчески, на сколько это возможно. |
|
Сообщение
#14
|
|
|
|
10:01:2008, 09:40
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 816 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Специализация: C++ Репутация: 31
|
Для: diff
Я так и думал, что у вас никаких конкретных фактов, только личный опыт, который ИМХО не совсем корректен. Я согласен c sax_ol, он вам уже пояснил выше |
|
Сообщение
#15
|
|
|
|
10:01:2008, 17:10
|
|
Новенький ![]() Группа: Программист Сообщений: 16 Регистрация: 6:01:2008 Пользователь №: 14 623 Специализация: web-programming Репутация: 0
|
Для: European
ochen' rad, shto vash opyt korrekten Сообщение отредактировал diff - 10:01:2008, 17:14 |
|
Сообщение
#16
|
|
|
|
11:01:2008, 04:43
|
|
Знающий ![]() ![]() ![]() Группа: Lotus team Сообщений: 492 Регистрация: 10:06:2006 Пользователь №: 4 745 Специализация: Lotus Notes & Domino, ERP Репутация: 18
|
Для: zloi
http://www.microsoft.com/technet/prodtechn...1.mspx?mfr=true Код Database or File System Web applications often have graphics associated with tabular data. For example, real estate Web sites typically include photographs of homes for sale. On company intranet sites, client databases can contain image files of client products. For such applications, a common design question involves whether the images should be stored in the database or in a file system. In most cases, the best choice is to store the images in the database together with the other data. Storing the images in a database is the better choice if the application in which the images will be used count on the benefits of a database system. The benefits of storing the images in the database include: • Scalability. Although file systems are designed to handle a large number of objects of varying sizes, file systems usually are not optimized for a huge number (tens of millions) of small files. Database systems are optimized for such cases. Availability. SQL Server has availability features that extend beyond those provided by the file system. • SQL Server replication is a set of solutions that allow you to copy, distribute, and potentially modify data in a distributed environment. • Log shipping provides a way of keeping a stand-by copy of a database in case the primary system fails. Storing images in a file system would be a better choice if: • The application in which the images will be used requires streaming performance, such as real-time video playback. • BLOBs require frequentaccess by applications, such as Microsoft PhotoDraw® or Adobe Photoshop, which only know how to access files. • You want to use some specific feature in the NTFS file system such as Remote Storage. As with most guidelines though, these points can assist in decision making only after a thorough research of the specific use, environment, and purpose of the application. В большенстве случаев ИМХО лучше в базе хранить. Сообщение отредактировал root - 11:01:2008, 04:48 |
|
Сообщение
#17
|
|
|
|
11:01:2008, 08:55
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 816 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Специализация: C++ Репутация: 31
|
Для: diff
Вот вам root подтверждение выложил |
|
Сообщение
#18
|
|
|
|
11:01:2008, 11:10
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 816 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Специализация: C++ Репутация: 31
|
Для: diff
Кстати, благодаря подписке получил Ваше отредактированное сообщение и вот что отвечу. Я не претендую на абсолютную корректность моего опыта и прошу прощения, что поставил под сомнение Ваш опыт, наверное, это ваш начальный гуру-тон оказал влияние. Цитата a kakie facty vy by hoteli videt'? o kakoi konkretike idet rech'? vam nujny testy na win\nix serverah? V chem problemma, mojno ih sdelat', ya uveren, shto u vas vse poluchitsya, pojalusto provedite takoi test i pokajite ego rezul'taty. Вообще проблема хранения картинок на диске или в базе - это одна из программерских holy war, и я никак не изменю расстановку сил на данном фронте. Топикстартер начинал речь про MySQL, вы говорите также про нее. К сожалению, я не имею абсолютно никакого опыта общения с MySQL, но по анализу аналогичных веток на других форумах и различных статей пришел к выводу, что для MySQL - это непомерно сложная задача. Странно, у более крупных СУБД с этим проблем нет. Вот цитата с одного из форумов: Цитата то что хранение файлов в mysql - плохо, доказано phpclub 'ом Цитата vy ved' sami nichego ubeditel'nogo ne skazali, krome togo, shto postavili pod somnenie moi sovet: nedelat' tak v real'nyh situaciyah. Ну что же, приведу ссылку, полностью отражающую мое мнение (обратите внимание на выводы): http://www.opennet.ru/base/dev/blob_mysql.txt.html А вот ближе к SQL Server: http://job57.narod.ru/asp2/29/index.htm А вот ссылка, доказывающая обратное (вот только авторитетность ее сомнительна): http://www.host.ru/support/articles/mysql-optimization.html И вот десятки страниц полемики, не выявившей победителя: http://xpoint.ru/forums/computers/dbms/mis...ead/13645.xhtml http://www.hostforum.ru/archive/index.php/t-2524.html http://www.sql.ru/forum/actualthread.aspx?tid=512451 P.S. почему кириллицей писать не можете? |
|
Сообщение
#19
|
|
|
|
11:01:2008, 21:23
|
|
Новенький ![]() Группа: Программист Сообщений: 56 Регистрация: 22:11:2006 Пользователь №: 7 960 Специализация: php mysql html css smarty Репутация: 2
|
Не удержался и решил вставить своё ИМХО.
Картинку в базу - очень просто - считал в строку файл и записал в бинарное поле (blob) Вычитать - обычным способом, перед выводом указать соответствующие заголовки. Теперь попытаюсь отговорить. Как я понял - речь идёт о пхп и мускле. 1. Зачем это всё? Для такого геморроя должны быть веские основания. 2. мускль - очень быстрая база, она хорошо обрабатывает большое количество мелких запросов (более миллиона записей - а она летает). Но обрабатывать большие записи (мегабайтные картинки) ей тяжело. 3. При обработке графики ощутимо грузится сервер. Одно дело - ссылка на файл, лежащий на сервере, другое - вычитать запись из базы (разумеется - в строку, выжрав при этом изрядно памяти, в то время как вывод файла из файловой системы происходит вообще без участия php). Потом эту строку вывести. Принтом или ехом. Когда выводятся большие куски хтмля - рекомендуется выводить его напрямую, без обработки php. На этом основана работа такого замечательного шаблонизатора, как смарти. А тут мы выводим посредством php графический файл. 3. Для чего нужна база данных? В первую очередь - для того, чтобы быстро можно было оперировать данными, изменять, осуществлять поиск. Если файл один раз загрузили, а потом только читают - нужно ли его держать в базе? 4. И наконец - ограничение файловой системы на размер файлов базы. Тяжело перевалить за 4 гига, когда в базе индексы, названия файлов и категории. Но когда в базе сами файлы( по сотне метров каждый) - то это может превратиться в реальную проблему. Достоинств этого метода хранения данных я не вижу не одного. Разве что какие-то специфические требования. |
|
Сообщение
#20
|
|
|
|
11:01:2008, 21:33
|
|
Новенький ![]() Группа: Программист Сообщений: 23 Регистрация: 23:10:2006 Из: Молодечно Пользователь №: 7 314 Специализация: web-developer Репутация: 0
|
to European
а Вы вобще сами смотрели те ссылки, которые порекомендовали? Наврядли, потому-что ссылки на форум 2002-го года, где обсуждается быстродействие MySQL выглядят по крайней мере странно... |
|
Сообщение
#21
|
|
|
|
14:01:2008, 11:14
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 816 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Специализация: C++ Репутация: 31
|
|
|
Сообщение
#22
|
|
|
|
30:01:2008, 10:12
|
|
Новенький ![]() Группа: Программист Сообщений: 54 Регистрация: 14:03:2007 Из: Москва Пользователь №: 9 703 Специализация: MySQL базы данных и CMS Репутация: 0
|
Полностью согласен с maykoff - вы конечно можете засунуть картинки в базу MySQL, но как говорят разработчики и показывает личный опыт - это далеко не самый удачный способ. База сильно теряет в производительности при таких объемах обрабатываемой информации.
|
|
Сообщение
#23
|
|
|
|
30:01:2008, 10:19
|