|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
Проблема такая: 1. Формируется SQL запрос 2. Исполняется SQL запрос <-- очень долго >20 секунд 3. Выводится результат SQL запроса Как бы сделать так чтобы юзер до вывода результата запроса видел какую-нибудь другую HTML, а потом переключиться на результат SQL запроса когда он будет готов. PHP или Perl - не важно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2004, 19:09 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
лучше займись оптимизацией запроса (спроси в соответствующем форуме по субд) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2004, 15:15 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
авторлучше займись оптимизацией запроса (спроси в соответствующем форуме по субд) Короче не знаешь... Так и скажи. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2004, 22:46 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
Man With No Name , ты даже не удосужился намекнуть об объёмах своей базы, количестве записей и типе запросов. 20 с - это очень много - может быть получено разве что при огромных объёмах данных, отсутствии индексов в нужных местах и/или корявом коде (его ты тут, кстати, тоже не стал "засвечивать").Как бы сделать так чтобы юзер до вывода результата запроса видел какую-нибудь другую HTML, а потом переключиться на результат SQL запроса когда он будет готов.Выводи по мере готовности. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2004, 23:59 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
На каком сервере лежит эта база данных? Может быть этот сервер сам очень глючный, очень тормозной (как например Народ) - в таком случае лучше поменяй хостера. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2004, 12:07 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
Высвечиваем инфу с тегом <meta> - обновление 5 секунд. Пока не обработался запрос - выводится одно инфа, обработали - перекинули на результат. Если не очень понятно - напиши, я напишу подробнее. И, вообще, народ прав - покажи php-код вывода, может, соптимизируем тебе его.. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2004, 17:18 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
автор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 секунд. Пока не обработался запрос - выводится одно инфа, обработали - перекинули на результат. За подсказку спасибо. Это то чего я и хотел. Посмотрю в своих мануалах.... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2004, 14:37 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
А в два запроса не быстрее будет? SELECT web.man.id, web.man.fam, web.man.ima FROM web.man WHERE web.man.fam like 'ПОПОВ%' ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2004, 16:06 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
После чего SELECT web.har.city, web.har.street FROM web.har WHERE web.har.id IN (список_web.man.id_через_запятую) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2004, 16:08 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
Ошибка со 2м ;) SELECT web.har.id, web.har.city, web.har.street FROM web.har WHERE web.har.id IN (список_web.man.id_через_запятую) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2004, 16:10 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
такое раздули... а толком так почти никто и не помог... :) на счет запроса, если просят не оптимизировать запрос, а сделать так чтоб пользователя перекинуло на готовый рез-т, так почему все лезут оптимизировать запрос??????? у меня есть такие запросики которые считаются по 10 минут и быстрее некуда... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2004, 16:55 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
такое раздули... а толком так почти никто и не помог... :) на счет запроса, если просят не оптимизировать запрос, а сделать так чтоб пользователя перекинуло на готовый рез-т, так почему все лезут оптимизировать запрос??????? у меня есть такие запросики которые считаются по 10 минут и быстрее некуда... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2004, 16:57 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
такое раздули... а толком так почти никто и не помог... :) на счет запроса, если просят не оптимизировать запрос, а сделать так чтоб пользователя перекинуло на готовый рез-т, так почему все лезут оптимизировать запрос??????? у меня есть такие запросики которые считаются по 10 минут и быстрее некуда... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2004, 16:58 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
z если просят не оптимизировать запрос, а сделать так чтоб пользователя перекинуло на готовый рез-т, так почему все лезут оптимизировать запрос??????? "потому что прыщи надо лечить а не прятать" (c) В большинстве случаев, когда говорят, что оптимизировать нельзя - это означает, что оптимизировать можно, но нужно много чего переписывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2004, 17:39 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
а в пхпклубе еще говорят: "Ты не должен этого хотеть!" ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2004, 17:50 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
Alexey AgafonovВысвечиваем инфу с тегом <meta> - обновление 5 секунд. Пока не обработался запрос - выводится одно инфа, обработали - перекинули на результат. Если не очень понятно - напиши, я напишу подробнее. Смотрел я в мануалах MSDN там про это ни чего не написано или я плохо искал? 2 Alexey Agafonov Если можешь напиши пример ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2004, 18:14 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
Man With No Name Alexey AgafonovВысвечиваем инфу с тегом <meta> - обновление 5 секунд. Пока не обработался запрос - выводится одно инфа, обработали - перекинули на результат. Если не очень понятно - напиши, я напишу подробнее. Смотрел я в мануалах MSDN там про это ни чего не написано или я плохо искал? 2 Alexey Agafonov Если можешь напиши пример если уж отказываешься оптимизацией заняться, то лучше прислушайся к совету звездочки : > Выводи по мере готовности. в общем случае можно просто в начале слой нарисовать на весь экран , в котором написать "Подождите, идет загрузка". И далее просто грузить данніе на страницу (формировать ее HTML-код). Как страница загрузиться (событие onload), прячешь слой с надписью. Все это описано в msdn (в разделах про DHTML или JavaScript) Могут быть проблемы, если у тебя не свой хостинг ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2004, 18:34 |
|
Долгая работа скрипта!
|
|||
---|---|---|---|
#18+
Проблема найдена - после того как админ нашей БД действительно собрал статистику - самые крутые запросы выполняются в районе 100мс. Вот что значит Оракл. Наш админ опять всех кинул через болт. авторесли уж отказываешься оптимизацией заняться, то лучше прислушайся к совету звездочки : > Выводи по мере готовности. По совету уважаемого мистера звездочки понятно что он за свою практику имел дело с БД типа MySQL, Interbase и прочей дрянью поскольку выводить в два этапа не катит в СУБД Оракл. Оракл это HI END. В Оракле есть следующие правила. Постарайся решить свою задачу с помощью SQL если не можешь с помощью SQL попытайся с помощью PL/SQL и т.д. с Явой, с С/C++ Моя задача прекрасно решается с помощью 1 запроса вместо 2 запросов и циклов как предложил *. Господа вам совет - переходите на Оракл. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2004, 09:13 |
|
|
start [/forum/topic.php?fid=23&fpage=508&tid=1479630]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
121ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 227ms |
0 / 0 |