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

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

Как бы сделать так чтобы юзер до вывода результата запроса видел какую-нибудь другую HTML, а потом переключиться на результат SQL запроса когда он будет готов.
PHP или Perl - не важно.
...
Рейтинг: 0 / 0
Долгая работа скрипта!
    #32578613
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лучше займись оптимизацией запроса (спроси в соответствующем форуме по субд)
...
Рейтинг: 0 / 0
Долгая работа скрипта!
    #32580103
Man With No Name
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторлучше займись оптимизацией запроса (спроси в соответствующем форуме по субд)
Короче не знаешь... Так и скажи.
...
Рейтинг: 0 / 0
Долгая работа скрипта!
    #32580151
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Man With No Name , ты даже не удосужился намекнуть об объёмах своей базы, количестве записей и типе запросов. 20 с - это очень много - может быть получено разве что при огромных объёмах данных, отсутствии индексов в нужных местах и/или корявом коде (его ты тут, кстати, тоже не стал "засвечивать").Как бы сделать так чтобы юзер до вывода результата запроса видел какую-нибудь другую HTML, а потом переключиться на результат SQL запроса когда он будет готов.Выводи по мере готовности.
...
Рейтинг: 0 / 0
Долгая работа скрипта!
    #32580740
Шогал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На каком сервере лежит эта база данных? Может быть этот сервер сам очень глючный, очень тормозной (как например Народ) - в таком случае лучше поменяй хостера.
...
Рейтинг: 0 / 0
Долгая работа скрипта!
    #32581804
Alexey Agafonov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Высвечиваем инфу с тегом <meta> - обновление 5 секунд. Пока не обработался запрос - выводится одно инфа, обработали - перекинули на результат. Если не очень понятно - напиши, я напишу подробнее.
И, вообще, народ прав - покажи php-код вывода, может, соптимизируем тебе его..
...
Рейтинг: 0 / 0
Долгая работа скрипта!
    #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
Долгая работа скрипта!
    #32583681
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
А в два запроса не быстрее будет?
SELECT web.man.id, web.man.fam, web.man.ima
FROM web.man
WHERE web.man.fam like 'ПОПОВ%'
...
Рейтинг: 0 / 0
Долгая работа скрипта!
    #32583684
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
После чего
SELECT web.har.city, web.har.street
FROM web.har
WHERE web.har.id IN (список_web.man.id_через_запятую)
...
Рейтинг: 0 / 0
Долгая работа скрипта!
    #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
Долгая работа скрипта!
    #32585800
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
такое раздули...
а толком так почти никто и не помог... :)
на счет запроса, если просят не оптимизировать запрос, а сделать так чтоб пользователя перекинуло на готовый рез-т, так почему все лезут оптимизировать запрос???????

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

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

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

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

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

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

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

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

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

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


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