ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Хранение изображений в БД
  #1  
Старый 01.10.2009, 14:36
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме:
3941248

Репутация: 668


Отправить сообщение для Doom123 с помощью ICQ
По умолчанию Хранение изображений в БД

Вот не могу никак решить где лучше хранить фотографии .. в БД или в файлах ..

краткое описание ... Сайт с анкетами на куждую анкету по 8 фоток ... примерная посещяемость 5к в день ..


как вы считаете где их лучше хранить?
 
Ответить с цитированием

  #2  
Старый 01.10.2009, 14:42
ChieFSS
Познающий
Регистрация: 23.11.2006
Сообщений: 34
Провел на форуме:
156100

Репутация: 7
По умолчанию

Файлами и только файлами. В БД достаточно хранить пути к файлам.
Работа с БД занимает 80% процессорной мощности от выделенной под сайт.
Как минимум лишняя нагрузка на сервер.

Последний раз редактировалось ChieFSS; 01.10.2009 в 14:45..
 
Ответить с цитированием

  #3  
Старый 01.10.2009, 14:56
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме:
3941248

Репутация: 668


Отправить сообщение для Doom123 с помощью ICQ
По умолчанию

ну смотри на скоко я знаю запрос вида

SELECT `last_update` FROM `time` WHERE name = "update"

работает не намного медленее

file_get_contents('last_update.txt');
 
Ответить с цитированием

  #4  
Старый 01.10.2009, 15:03
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


Отправить сообщение для GreenBear с помощью ICQ
По умолчанию

ну вообще то медленее, тк file_get_contents в случае с файлами вообще не нужен.
 
Ответить с цитированием

  #5  
Старый 01.10.2009, 15:09
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме:
3941248

Репутация: 668


Отправить сообщение для Doom123 с помощью ICQ
По умолчанию

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..
 
Ответить с цитированием

  #6  
Старый 01.10.2009, 15:14
ChieFSS
Познающий
Регистрация: 23.11.2006
Сообщений: 34
Провел на форуме:
156100

Репутация: 7
По умолчанию

Я бы посоветовал из базы брать адрес (или только название) к картинке и подставлять в <img src="">, а сами картинки хранить в отдельной папке.
Плюс не надо будет реализовывать кэширование.

Цитата:
Сайт с анкетами на куждую анкету по 8 фоток ... примерная посещяемость 5к в день
Вот если посчетать сколько всего будет записей в БД, тогда можно будет сделать более точные расчёты.

PS вот это вообще не понятно зачем надо: $re[] = file_get_contents('a.txt');

Последний раз редактировалось ChieFSS; 01.10.2009 в 15:21..
 
Ответить с цитированием

  #7  
Старый 01.10.2009, 15:21
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме:
3941248

Репутация: 668


Отправить сообщение для Doom123 с помощью ICQ
По умолчанию

ChieFSS это было для вывода ..
а если замена и удаление? например мне надо чтоб фота название фоты было такое
id_(номер с 1 до 8) получается типо 45654_5.jpg например ..

а еси чел удаляет скажем фоту 45654_4.jpg и добовляет ещё фоту .. мне ж нужно её вставить на место 45654_4.jpg а теперь иди и считай какой по счёту фоты не хватает чтоб вставить место неё .. в этом случае в БД будет быстрее
 
Ответить с цитированием

  #8  
Старый 01.10.2009, 15:23
REBUUS
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме:
1288105

Репутация: 328
По умолчанию

В ФАЙЛАХ!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
Ответить с цитированием

  #9  
Старый 01.10.2009, 15:25
KaMiKadZe
Участник форума
Регистрация: 24.02.2006
Сообщений: 206
Провел на форуме:
2735257

Репутация: 103
По умолчанию

Чем больше база тем медленнее она работает, да и в БД никто не хранит файлы, я как минимум SQL inj смогу сделать просто загрузив файл
 
Ответить с цитированием

  #10  
Старый 01.10.2009, 15:25
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме:
3941248

Репутация: 668


Отправить сообщение для Doom123 с помощью ICQ
По умолчанию

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)
 


Быстрый переход




ANTICHAT.XYZ