Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Долгая работа скрипта! / 19 сообщений из 19, страница 1 из 1
25.06.2004, 19:09
    #32578333
Man With No Name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
Проблема такая:

1. Формируется SQL запрос
2. Исполняется SQL запрос <-- очень долго >20 секунд
3. Выводится результат SQL запроса

Как бы сделать так чтобы юзер до вывода результата запроса видел какую-нибудь другую HTML, а потом переключиться на результат SQL запроса когда он будет готов.
PHP или Perl - не важно.
...
Рейтинг: 0 / 0
26.06.2004, 15:15
    #32578613
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
лучше займись оптимизацией запроса (спроси в соответствующем форуме по субд)
...
Рейтинг: 0 / 0
28.06.2004, 22:46
    #32580103
Man With No Name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
авторлучше займись оптимизацией запроса (спроси в соответствующем форуме по субд)
Короче не знаешь... Так и скажи.
...
Рейтинг: 0 / 0
28.06.2004, 23:59
    #32580151
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
Man With No Name , ты даже не удосужился намекнуть об объёмах своей базы, количестве записей и типе запросов. 20 с - это очень много - может быть получено разве что при огромных объёмах данных, отсутствии индексов в нужных местах и/или корявом коде (его ты тут, кстати, тоже не стал "засвечивать").Как бы сделать так чтобы юзер до вывода результата запроса видел какую-нибудь другую HTML, а потом переключиться на результат SQL запроса когда он будет готов.Выводи по мере готовности.
...
Рейтинг: 0 / 0
29.06.2004, 12:07
    #32580740
Шогал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
На каком сервере лежит эта база данных? Может быть этот сервер сам очень глючный, очень тормозной (как например Народ) - в таком случае лучше поменяй хостера.
...
Рейтинг: 0 / 0
29.06.2004, 17:18
    #32581804
Alexey Agafonov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
Высвечиваем инфу с тегом <meta> - обновление 5 секунд. Пока не обработался запрос - выводится одно инфа, обработали - перекинули на результат. Если не очень понятно - напиши, я напишу подробнее.
И, вообще, народ прав - покажи php-код вывода, может, соптимизируем тебе его..
...
Рейтинг: 0 / 0
30.06.2004, 14:37
    #32583443
Man With No Name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
авторMan With No Name, ты даже не удосужился намекнуть об объёмах своей базы, количестве записей и типе запросов.
База - Оракл9.2 На 2процовом ксеоне1,4Ггц, 1,5Гб опер. памяти, SCSI и т.д.
В запросе имеются 2 таблицы в каждой из которых по 2,000,000 записей
и делается equilhash-join по одинаковому столбцу.
Понятно что в Оракле их лучше хранить в кластере - но в базе мне менять/добавлять что-то никто не даст. Индексы где надо стоят и используются в запросах, статистика свежая - регулярно собирается, используется COST BASED OPTIMISATION(особенности Оракля)
Мое дело программир. для ВЕБ на Делфи( ) - CGI бинарные скрипты.

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

SELECT web.man.fam, web.man.ima, web.har.city, web.har.street
FROM web.man, web.har
WHERE web.man.id = web.har.id AND web.man.fam like 'ПОПОВ%'

Для (web.man.fam like 'ПОПОВ%') происходит index range scan как и должно быть.
Для (web.man.id = web.har.id) nested-loops <-- Вот тут то это дело и тормозит
пробовал хинты Оракля - похоже существенного выйгрыша они в моем случае не дадут, т.к. идея построения структуры БД - гов**
.... и т.д.

Alexey Agafonov Высвечиваем инфу с тегом <meta> - обновление 5 секунд. Пока не обработался запрос - выводится одно инфа, обработали - перекинули на результат.
За подсказку спасибо. Это то чего я и хотел. Посмотрю в своих мануалах....
...
Рейтинг: 0 / 0
30.06.2004, 16:06
    #32583681
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
А в два запроса не быстрее будет?
SELECT web.man.id, web.man.fam, web.man.ima
FROM web.man
WHERE web.man.fam like 'ПОПОВ%'
...
Рейтинг: 0 / 0
30.06.2004, 16:08
    #32583684
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
После чего
SELECT web.har.city, web.har.street
FROM web.har
WHERE web.har.id IN (список_web.man.id_через_запятую)
...
Рейтинг: 0 / 0
30.06.2004, 16:10
    #32583690
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
Ошибка со 2м ;)
SELECT web.har.id, web.har.city, web.har.street
FROM web.har
WHERE web.har.id IN (список_web.man.id_через_запятую)
...
Рейтинг: 0 / 0
01.07.2004, 16:55
    #32585800
z
z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
такое раздули...
а толком так почти никто и не помог... :)
на счет запроса, если просят не оптимизировать запрос, а сделать так чтоб пользователя перекинуло на готовый рез-т, так почему все лезут оптимизировать запрос???????

у меня есть такие запросики которые считаются по 10 минут и быстрее некуда...
...
Рейтинг: 0 / 0
01.07.2004, 16:57
    #32585803
z
z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
такое раздули...
а толком так почти никто и не помог... :)
на счет запроса, если просят не оптимизировать запрос, а сделать так чтоб пользователя перекинуло на готовый рез-т, так почему все лезут оптимизировать запрос???????

у меня есть такие запросики которые считаются по 10 минут и быстрее некуда...
...
Рейтинг: 0 / 0
01.07.2004, 16:58
    #32585807
z
z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
такое раздули...
а толком так почти никто и не помог... :)
на счет запроса, если просят не оптимизировать запрос, а сделать так чтоб пользователя перекинуло на готовый рез-т, так почему все лезут оптимизировать запрос???????

у меня есть такие запросики которые считаются по 10 минут и быстрее некуда...
...
Рейтинг: 0 / 0
01.07.2004, 17:39
    #32585908
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
z если просят не оптимизировать запрос, а сделать так чтоб пользователя перекинуло на готовый рез-т, так почему все лезут оптимизировать запрос???????
"потому что прыщи надо лечить а не прятать" (c)

В большинстве случаев, когда говорят, что оптимизировать нельзя - это означает, что оптимизировать можно, но нужно много чего переписывать.
...
Рейтинг: 0 / 0
01.07.2004, 17:50
    #32585938
z
z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
а в пхпклубе еще говорят:
"Ты не должен этого хотеть!"
...
Рейтинг: 0 / 0
01.07.2004, 18:14
    #32585989
Man With No Name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
Alexey AgafonovВысвечиваем инфу с тегом <meta> - обновление 5 секунд. Пока не обработался запрос - выводится одно инфа, обработали - перекинули на результат. Если не очень понятно - напиши, я напишу подробнее.
Смотрел я в мануалах MSDN там про это ни чего не написано или я плохо искал?

2 Alexey Agafonov
Если можешь напиши пример
...
Рейтинг: 0 / 0
01.07.2004, 18:34
    #32586016
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
Man With No Name Alexey AgafonovВысвечиваем инфу с тегом <meta> - обновление 5 секунд. Пока не обработался запрос - выводится одно инфа, обработали - перекинули на результат. Если не очень понятно - напиши, я напишу подробнее.
Смотрел я в мануалах MSDN там про это ни чего не написано или я плохо искал?

2 Alexey Agafonov
Если можешь напиши пример

если уж отказываешься оптимизацией заняться, то лучше прислушайся к совету звездочки :
> Выводи по мере готовности.

в общем случае можно просто в начале слой нарисовать на весь экран , в котором написать "Подождите, идет загрузка". И далее просто грузить данніе на страницу (формировать ее HTML-код). Как страница загрузиться (событие onload), прячешь слой с надписью.
Все это описано в msdn (в разделах про DHTML или JavaScript)

Могут быть проблемы, если у тебя не свой хостинг
...
Рейтинг: 0 / 0
02.07.2004, 09:13
    #32586376
Man With No Name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
Проблема найдена - после того как админ нашей БД действительно собрал статистику - самые крутые запросы выполняются в районе 100мс. Вот что значит Оракл. Наш админ опять всех кинул через болт.

авторесли уж отказываешься оптимизацией заняться, то лучше прислушайся к совету звездочки :
> Выводи по мере готовности.
По совету уважаемого мистера звездочки понятно что он за свою практику имел дело с БД типа MySQL, Interbase и прочей дрянью поскольку выводить в два этапа не катит в СУБД Оракл. Оракл это HI END. В Оракле есть следующие правила.
Постарайся решить свою задачу с помощью SQL
если не можешь с помощью SQL попытайся с помощью PL/SQL
и т.д. с Явой, с С/C++
Моя задача прекрасно решается с помощью 1 запроса вместо 2 запросов и циклов как предложил *.
Господа вам совет - переходите на Оракл.
...
Рейтинг: 0 / 0
02.07.2004, 12:04
    #32586833
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгая работа скрипта!
> Господа вам совет - переходите на Оракл.
как только его станут предлагать на всех хостингах за такие же деньги, за какие сейчас предлагают mysql - я буду первым, кто перейдет :)
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Долгая работа скрипта! / 19 сообщений из 19, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]