Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Пошаговая загрузка страницы (https://forum.antichat.xyz/showthread.php?t=119210)

OdaN 05.05.2009 17:04

Пошаговая загрузка страницы
 
Подскажите пожалуйста: есть скрипт, генерирующий страничку. В одном месте, в этой страничке есть блок со статичтикой. Статистика считается на лету, идет много запросов в большую базу. Соответственно этот блок обрабатывается 3-4 секунды. Собственно вопрос - как сделать, чтобы сначала грузилась сама страничка, а данный блок подгружался после того, как обработает инфу? И можно-ли при этом обойтись без Java?
Пробовал вынести блок в отдельный файл, и подцепить инклюдом, всеравно страничка не отдается пока не родится блок =(

OdaN 05.05.2009 17:20

еще кстати вопрос, по оптимизации мускульных запросов. Есть база в полмилиона строк, надо посчитать количество строк, по условию
Код:

select count(*) from table where var like '123%'
Запрос возвращает 4х значное число, и выполняется долго и нудно. Собственно нужные значения идут только в конце таблицы, и гонять всю базу не сильно надо. Есть-ли какие-нибудь решения для оптимизации? Индексы есть, блягодаря им запрос выполняется не полминуты, а 0,5-1 секунды, но всеравно много, темболее подобных запросов за один раз нсколько =(

astrologer 05.05.2009 20:15

Цитата:

В одном месте, в этой страничке есть блок со статичтикой. Статистика считается на лету, идет много запросов в большую базу. Соответственно этот блок обрабатывается 3-4 секунды.
Кэшируй статистику, пусть даже будут видны немного устаревшие данные. Не может же эта большая база меняться с такой скоростью, чтобы это сильно сказывалось на результатах.
Цитата:

И можно-ли при этом обойтись без Java?
Наверняка ;)
Цитата:

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

OdaN 05.05.2009 23:07

Цитата:

Данные на диске могут храниться в каком угодно порядке, с этой точки зрения "конец таблицы" - что-то абстрактное.
Не, на диске это понятно, я тому, что в самой таблице они не в разнобой идут, а по порядку. И допустим если при первом несовпадении "where" остановится и не гонять таблицу дальше, то пойдет порезвее. Умеет мускуль чтонибудь такое? Я не специалист по базам данным, и многова незнаю, поэтому и прошу совета =)

Добавленно:
кстати для производительности есть какаянибудь разнится - считать count(*) или к примеру count(id)

/^scriptor$/ 20.05.2009 01:31

Цитата:

Сообщение от OdaN
Собственно вопрос - как сделать, чтобы сначала грузилась сама страничка, а данный блок подгружался после того, как обработает инфу?

Аяксом подгружай статистику. Сначала пхп файл пусть отработает, а потом javascript заберет статистику


Время: 09:23