Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Хранение изображений в БД |

01.10.2009, 14:36
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
Хранение изображений в БД
Вот не могу никак решить где лучше хранить фотографии .. в БД или в файлах ..
краткое описание ... Сайт с анкетами на куждую анкету по 8 фоток ... примерная посещяемость 5к в день ..
как вы считаете где их лучше хранить?
|
|
|

01.10.2009, 14:42
|
|
Познающий
Регистрация: 23.11.2006
Сообщений: 34
Провел на форуме: 156100
Репутация:
7
|
|
Файлами и только файлами. В БД достаточно хранить пути к файлам.
Работа с БД занимает 80% процессорной мощности от выделенной под сайт.
Как минимум лишняя нагрузка на сервер.
Последний раз редактировалось ChieFSS; 01.10.2009 в 14:45..
|
|
|

01.10.2009, 14:56
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
ну смотри на скоко я знаю запрос вида
SELECT `last_update` FROM `time` WHERE name = "update"
работает не намного медленее
file_get_contents('last_update.txt');
|
|
|

01.10.2009, 15:03
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
ну вообще то медленее, тк file_get_contents в случае с файлами вообще не нужен.
|
|
|

01.10.2009, 15:09
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
PHP код:
<?php
mysql_connect('localhost','root','') or die('a');
mysql_select_db('a') or die('a');
$i = 0;
$time = microtime(1);
while($i < 20)
{
$res = mysql_query('SELECT a FROM a') or die('a');
$a[] = mysql_fetch_array($res);
$i++;
}
$time = microtime(1) - $time;
echo $time.'<br><BR><BR><BR>';
$i = 0;
$time = microtime(1);
while($i < 20)
{
$re[] = file_get_contents('a.txt');
$i++;
}
$time = microtime(1) - $time;
echo $time.'<br><BR><BR><BR>';
?>
a.txt
Код:
1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe
mysql
Код:
--
-- Структура таблицы `a`
--
CREATE TABLE IF NOT EXISTS `a` (
`a` varchar(261) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Дамп данных таблицы `a`
--
INSERT INTO `a` (`a`) VALUES
('1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe1wqe');
Результат
0.00867295265198
0.0285441875458
хм =\
GreenBear ты прав просто хотел человеку показать что БД это не такой пожиратель ресурсов ка кнам его описывают .. файловая систему тоже грешит этим
---
п.с по теме .. просто бд легче управлять всем этим .. удаление замена и т.д .. просто если так посмотреть при удалении замене в случае с БД может работать быстрее чем с файловой системой .. потому как там хватит одного апдейта .. а в файлах нужно использовать пару ф-ций ..
Последний раз редактировалось Doom123; 01.10.2009 в 15:13..
|
|
|

01.10.2009, 15:14
|
|
Познающий
Регистрация: 23.11.2006
Сообщений: 34
Провел на форуме: 156100
Репутация:
7
|
|
Я бы посоветовал из базы брать адрес (или только название) к картинке и подставлять в <img src="">, а сами картинки хранить в отдельной папке.
Плюс не надо будет реализовывать кэширование.
Сайт с анкетами на куждую анкету по 8 фоток ... примерная посещяемость 5к в день
Вот если посчетать сколько всего будет записей в БД, тогда можно будет сделать более точные расчёты.
PS вот это вообще не понятно зачем надо: $re[] = file_get_contents('a.txt');
Последний раз редактировалось ChieFSS; 01.10.2009 в 15:21..
|
|
|

01.10.2009, 15:21
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
ChieFSS это было для вывода ..
а если замена и удаление? например мне надо чтоб фота название фоты было такое
id_(номер с 1 до 8) получается типо 45654_5.jpg например ..
а еси чел удаляет скажем фоту 45654_4.jpg и добовляет ещё фоту .. мне ж нужно её вставить на место 45654_4.jpg а теперь иди и считай какой по счёту фоты не хватает чтоб вставить место неё .. в этом случае в БД будет быстрее
|
|
|

01.10.2009, 15:23
|
|
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме: 1288105
Репутация:
328
|
|
В ФАЙЛАХ!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|

01.10.2009, 15:25
|
|
Участник форума
Регистрация: 24.02.2006
Сообщений: 206
Провел на форуме: 2735257
Репутация:
103
|
|
Чем больше база тем медленнее она работает, да и в БД никто не хранит файлы, я как минимум SQL inj смогу сделать просто загрузив файл
|
|
|

01.10.2009, 15:25
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
REBUUS ммм не думаю то это так очевидно как вы это пишете =)
например в булке есть возможность хранения изображений в БД и если не ошибуюсь эта возможность стоит по умолчанию и + для безопасности .. т.к нету папок с правами записи
и о какой скуле идёт речь? когда внутрености файла экранируется а имя изменяется
думаете в булке(vbulletin) маленькие БД ?
Последний раз редактировалось Doom123; 01.10.2009 в 15:27..
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
сравнение изображений
|
m03G |
С/С++, C#, Delphi, .NET, Asm |
4 |
09.07.2009 21:18 |
|
аякс- скролинг изображений как?
|
ufalog |
PHP, PERL, MySQL, JavaScript |
2 |
08.07.2009 22:03 |
|
CURL загрузка изображений
|
felix_ |
PHP, PERL, MySQL, JavaScript |
0 |
05.07.2009 15:59 |
|
Хранение информации на харде!
|
WellF |
Аппаратное обеспечение |
0 |
21.12.2005 09:29 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|