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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Снижение нагрузки на БД

Сообщения:  [1-4] 

 
 автор: Sfinks   (26.09.2012 в 19:54)   письмо автору
 
   для: Sturmvogel   (26.09.2012 в 17:57)
 

Я понятия не имею, что лучше именно в вашем случае, так как ничего о вашем случае не знаю. Тут нужно смотреть и на структуру таблиц, и на логику обновления базы, и на наличие ключей итдитп. И это уже вопросы для раздела MySQL, а не PHP.

  Ответить  
 
 автор: Sturmvogel   (26.09.2012 в 17:57)   письмо автору
 
   для: Sfinks   (26.09.2012 в 13:51)
 

Т.е. в моем случае лучше всего использовать INSERT .... ON DUBLICATE KEY UPDATE...?

  Ответить  
 
 автор: Sfinks   (26.09.2012 в 13:51)   письмо автору
 
   для: Sturmvogel   (26.09.2012 в 13:07)
 

Будет лучше, если вы будете отправлять сразу UPDATE, ничего не проверяя. Поля с совпадающими значениями будут отсеяны сервером БД автоматом. Можете для проверки выполнить какое-либо обновление с заведомо неизмененными данными, а после этого посмотреть mysql_affected_rows(). Он будет равен 0.
_______________
[UPD] Ничего не проверяя - это я конечно перегнул. Я имел ввиду не проверяя на изменение значений.

  Ответить  
 
 автор: Sturmvogel   (26.09.2012 в 13:07)   письмо автору
 
 

Возник такой вопрос: сильно я ли уменьшу нагрузку на базу данных, если буду производить запросы к ней пачками.
К примеру, у меня есть скрипт, который парсит какие-то данные. Ему нужно проверить, изменились ли значения полей у меня в таблице и, если да, обновить их. Фактически, для каждой новой порции таких данных я провожу выборку данных, сравниваю с новыми и обновляю, если нужно.
А будет ли лучше, если я буду делать запросы не сразу, а собирая данные в пакет, скажем, по 10 штук? Таким образом выбирая не 1 запись, а сразу 10 и потом обрабатывая их.

  Ответить  

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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