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

Форум MySQL

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

 

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

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

тема: Оптимизация доступа к базе данных
 
 автор: Ванек2010   (06.11.2010 в 20:11)   письмо автору
 
 

Срипт выносит ТОП 100 игроков. Сайт удаленно конектится к базе MSSQL.
Сейчас 100 раз проходит цикл while, естественно, сайт думать стал очень туго, т.к. MSSQL удалено +100 циклов. Страница на кеше обновляется каждые 10 минут. Грузится быстрее в разы, но всеравно, когда прихоит время обновления кеша, опять думает очень долго.
Около 50% циклов повторяется, т.к. инфа у многих одинакова.
Скажите, что лучше оставить все как есть 100 циклов или сделать в блокноты информацию, а потом с помощью строковых функций обрезать и подстовлять?

  Ответить  
 
 автор: neadekvat   (06.11.2010 в 20:13)   письмо автору
 
   для: Ванек2010   (06.11.2010 в 20:11)
 

Не понимаю.

Коннект.
Запрос.
Цикл (100 раз) {
вывод
}
Дисконект.

И что у вас там долго происходит? Может быть, выборка долго занимает из-за неправильных индексов, но при выводе-то где вы там тормоза нашли?

К тому же, на большинстве хостингов база находится на удаленном сервере.

  Ответить  
 
 автор: Ванек2010   (06.11.2010 в 20:33)   письмо автору
 
   для: neadekvat   (06.11.2010 в 20:13)
 

Страница весит 130 кб.

for(100 раз) {
тут еще 4 запроса к базе
while (110 раз) {
40 строчек каждый раз

}


}

  Ответить  
 
 автор: neadekvat   (06.11.2010 в 20:36)   письмо автору
 
   для: Ванек2010   (06.11.2010 в 20:33)
 

То есть вы не рассматриваете вариант, что у вас ошибка допущена в самом начале? Т.е. например написали простой запрос и теперь вытаскиваете данные, нагружая базу, вместо того, чтобы сделать один сложный? К тому же, у вас цикл проходит нифига не 100 раз, а 100*110.
В общем, мне кажется, вы неправильно спроектировали скрипт.

  Ответить  
 
 автор: zuldd   (06.11.2010 в 22:04)   письмо автору
 
   для: Ванек2010   (06.11.2010 в 20:11)
 

скрипт в студию

  Ответить  
 
 автор: Киналь   (06.11.2010 в 22:15)   письмо автору
 
   для: zuldd   (06.11.2010 в 22:04)
 

Лучше не скрипт (а то сейчас получим простыню экранов на пять=) ), а точный текст запросов к базе. Тех самых, которые

for(100 раз) {
тут еще 4 запроса к базе
while (110 раз) {
40 строчек каждый раз
}
}

  Ответить  
Rambler's Top100
вверх

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