остановка запроса...

Статус
В этой теме нельзя размещать новые ответы.

Buteo

[CDR/DVP]
остановка запроса...

вопрос первый: ктото использует и стоит ли? функицю OciFreeStatement ...

вопрос второй: при больших запросах, выполняющихся N минут, человек нажимает СТОП в броузере, останавливается ли выполнение запроса? если нет, то что нужно для этого сделать?... (я смотрел -- вроде продолжает работать :mad: )


/* база Oracle, PHP Version 4.2.3, используется OCIPlogon */
 

trent

Developer
OCIFreeStatement использовать надо, чтобы освободить память.

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

Sank

Guest
Re: остановка запроса...

Автор оригинала: Buteo
вопрос первый: ктото использует и стоит ли? функицю OciFreeStatement ...
Вообще стоит, если тебе жалко память. Хотя на маленьких страничках это не имеет значения, осоенно, если ты работаешь через php.exe

вопрос второй: при больших запросах, выполняющихся N минут, человек нажимает СТОП в броузере, останавливается ли выполнение запроса? если нет, то что нужно для этого сделать?... (я смотрел -- вроде продолжает работать :mad: )
работает. Пока не завершится, либо не истечет таймаут, либо не сожрётся лимит памяти
 

Buteo

[CDR/DVP]
a.....

Автор оригинала: trent
По поводу второго вопроса.. ты не должен этого хотеть, а если хочешь, то делай через хранимки и там разбивай свой запрос и считай время..
но тогда получается, что есть возможность сделать таких NN запросов (случайно/специально), тем самым, загрузить базу... как-то с этим можно бороться?

а через процедуры это делать тяжко...
 

trent

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

Buteo

[CDR/DVP]
Автор оригинала: trent
еще раз повторю..
ты не должен этого хотеть
у тебя изначально, что-то неправильно спроектированно..
это пропустим...

пересмотри идеологию и реализацию..
если у тебя запрос выполняется N минут, то это неправильный запрос
запросы разные бывают, задачи разные бывают, но! есть уже такие запросы, (про минуты я преувеличил, выполняются ~10-40 сек), ушустрить еще с помощью самого Оракла уже нельзя... .т.ч. такая потребность увы есть... хотя совершенно некритично...
 

fisher

накатила суть
2Buteo: trent прав, попробуй денормализовать модель, материализовать нужные view и т.д.
в любом случае, запрос от клиента, такой, что можеть быть инициирован с частотой, достаточной для организации dos-атаки, никогда не должен выполняться долго
 

Koc

Guest
Автор оригинала: fisher
2Buteo: trent прав, попробуй денормализовать модель, материализовать нужные view и т.д.
в любом случае, запрос от клиента, такой, что можеть быть инициирован с частотой, достаточной для организации dos-атаки, никогда не должен выполняться долго
а можно более подробно рассказать про dos-атаки
 

Buteo

[CDR/DVP]
Автор оригинала: fisher
2Buteo: trent прав, попробуй денормализовать модель, материализовать нужные view и т.д.
в любом случае, запрос от клиента, такой, что можеть быть инициирован с частотой, достаточной для организации dos-атаки, никогда не должен выполняться долго
хм... понятно, про сабж можно забыть...

а поповоду атак: ее возможность устранена совсем на другом уровне...

всем пасиба за советы...
 

fisher

накатила суть
>>ушустрить еще с помощью самого
>>Оракла уже нельзя
даже если стартовать не от модели, а от данных, которые ты передаешь пользователю после такого "тяжелого" запроса, то в большинстве случаев ты можешь объявить эти данные регулярно обновляемым отчетом, а "отчеты" готовить на стороне сервера джобой или кроном, клиент же будет обращаться уже к результатам отчета. вариантов решений мб много.
 

Buteo

[CDR/DVP]
Автор оригинала: fisher
а "отчеты" готовить на стороне сервера джобой или кроном, клиент же будет обращаться уже к результатам отчета. вариантов решений мб много.
чесное слово, так и делается :)

(но есть такие специфические запросы, от которых никуда не деться)

я думаю топик можно считать закрытым...
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху