Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: скорость загрузки (файлы vs базы данных)
 
 автор: moonfox   (18.04.2007 в 16:49)   письмо автору
 
 

скажите что по идеологии должно загружатся быстрее инормация из БД или файл с этойже информацией?

напрмер в БД строка "текст текст"
и такойже внешний файл иклудится в нем тока текст "текст текс" - тот же

   
 
 автор: cheops   (18.04.2007 в 16:51)   письмо автору
 
   для: moonfox   (18.04.2007 в 16:49)
 

В конечном итоге из базы данных, база данных это тоже файлы, только системы управления базами данных очень хитро устроены так, что из них выжимается по скорости всё что только можно... на PHP вам такой скорости никогда добиться не удастся...

Хотя всё конечно, зависит от ситуации, если база данных перегружена, то из файла прочитать информацию можно быстрее...

   
 
 автор: XPraptor   (19.04.2007 в 04:22)   письмо автору
 
   для: cheops   (18.04.2007 в 16:51)
 

to cheops:
Да впринципе если организовать правильное кэширование (многие файловые функции кэширующиеся в PHP) то можно и умыть БД по скорости. Но ИМХО муторно это все. Лучше уж БД уж использовать.

   
 
 автор: cheops   (19.04.2007 в 22:43)   письмо автору
 
   для: XPraptor   (19.04.2007 в 04:22)
 

Хм... СУБД тоже кэширует информацию - индексы ключей зачастую вообще из оперативной памяти не вылазят... а в PHP память скрипта волей не волей сбрасывается через 30 секунд... тягаться с СУБД очень сложно, покрайней мере на PHP...

   
 
 автор: Valick   (19.04.2007 в 07:39)   письмо автору
 
   для: cheops   (18.04.2007 в 16:51)
 

Я читал, что базы данных заточены под "перелопачивание" хранимой информации (сортировка, вставка, удаление, и т.д.), а если информацию нужно просто хранить и отображать, то быстрее работают обычные файлы, и ещё быстрее "плоские" файлы (dba).

   
 
 автор: cheops   (19.04.2007 в 22:44)   письмо автору
 
   для: Valick   (19.04.2007 в 07:39)
 

Как правило, добиться скорости превышающей СУБД можно, но с использованием C++, PHP для этого немного неповоротлив.

   
 
 автор: XPraptor   (20.04.2007 в 01:52)   письмо автору
 
   для: cheops   (19.04.2007 в 22:44)
 

to cheops:
Да, в том и превосходство БД, что держит кэш в памяти, но и PHP файловые хвосты не сбрасывает в *NIX системах, если настроено кэширование. Вся проблемма в том, как ты и сказал - у БД индексы, и они очень быстрые по отношению к обычному контенту, в файлах индексы не поюзаешь, только кэш на контент.
Но вот при первом обращении, когда был длительный простой (ночью например) то файлы намного опережают БД, а потом конечно уже БД опять грузится в память и мочит на всю катушку.

   
 
 автор: Drago   (20.04.2007 в 20:38)   письмо автору
 
   для: cheops   (18.04.2007 в 16:51)
 

Не могли бы вы пояснить, что значит "перегружена"? Когда в ней содержится большое количество записей?

Думаю, где хранить сообщения чата, в базе или, все же, в отдельном файле.
Будет ли скорость работы с базой меньше чем с файлом, если каждые несколько секунд, проверять на наличие и выводить последние новые записи?

   
 
 автор: Valick   (20.04.2007 в 20:54)   письмо автору
 
   для: Drago   (20.04.2007 в 20:38)
 

На сколько я понимаю, "перегружена" это когда к базе одновременно обращаются большое количество юзеров (поправте если я не прав)

   
 
 автор: XPraptor   (21.04.2007 в 04:31)   письмо автору
 
   для: Valick   (20.04.2007 в 20:54)
 

Чат только в БД.
Тут дело не в скорости, а в интерфейсе.
Чтобы найти запись и вывести из файла - требуется много телодвижений, тогда, как в Бд это сразу фильтрами предусмотренно, да еще и ускоряет сам вывод за счет фильтров (например, вывести только последние 20 записей)

   
 
 автор: Trianon   (21.04.2007 в 13:31)   письмо автору
 
   для: XPraptor   (21.04.2007 в 04:31)
 

И пожалуй, самое важное преимущество - СУБД берет на себя все проблемы, связанные с блокировками записей и организацией критических секций для параллельного доступа к данным.

   
 
 автор: cheops   (21.04.2007 в 14:09)   письмо автору
 
   для: Drago   (20.04.2007 в 20:38)
 

Да, имеется в виду большое количество обращений, как написал Valick. Просто если в очереди СУБД накапливается большое количество запросов - они будут выполняться медленнее, чем просто обращение к файлу.

   
 
 автор: Drago   (21.04.2007 в 15:22)   письмо автору
 
   для: cheops   (21.04.2007 в 14:09)
 

Ясно. Всем спасибо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования