|
|
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
есть процедура в процедуре: Код: plaintext 1. 2. 3. 4. 5. наполняю селектом, который сам по себе срабатывает за 5 секунд. как только подставляю select под insert into lt_issue - выполняется до 10 минут. поубирал к чертям все условия из WHERE - эффект почти нулевой - удалось выиграть не больше минуты-полутора... кто-то может подсказать, что делать? или что я делаю не так? спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 12:47 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
в догонку... после наполнения таблицы, select из lt_issue выполняется отлично... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 12:49 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
забыл указать, что это ASA 9.03 сейчас переписал на global temporary table - эффект тот же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 13:25 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
продвинулся чуть-чуть дальше кто мне может объяснить, почему запрос Код: plaintext 1. 2. 3. выполняется 0.3 секунды а такой запрос: Код: plaintext 1. 2. 3. 4. выполняется 10 минут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 13:46 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
так быть не должно. Значит что-то где-то не так. Посмотрите, куда у вас пишутся временные фалы ASAшки, может там диск тормозит. Может быть все что угодно, вплоть до глюков в файловой системе или повреждений в файле БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 13:53 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
rashman, 1. Откуда выполняется select (сколько записей возвращает)? 2. Сколько выдаёт select count(*) from dba.dep_sale_art as dep where dep.department_id = 761092; 3. Функа sf_rest_warehouse тоже может по разному выполняться, в зависимости от значений. Кто будет смотреть что там написано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 14:08 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
1. что из процедуры, что из isql - выполняется одинаково долго. 2. ~7000 записей. 3. sf_rest_warehouse выполняется одинаково для всех значений... в принципе, я "не первый год замужем" и простые вещи уже проверил. корень вопроса сформулирован в предыдущем моём посте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 15:05 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
rashman, Вопросы про место, откуда вызывается select, надеюсь понятно, что связаны с ограничением на кол-во возвращаемых записей. Ну если не первый год замужем, то можно было бы для начала проверить: 1. insert into tt_issue( rest_warehouse ) select 1 from dba.dep_sale_art as dep where dep.department_id = 761092; 2. insert into tt_issue( rest_warehouse ) select 1 from ( select sf_rest_warehouse(dep.article_id,300038151,'2010-02-24')from dba.dep_sale_art as dep where dep.department_id = 761092 ) tt; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 19:17 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
rashman1. что из процедуры, что из isql - выполняется одинаково долго. 2. ~7000 записей. 3. sf_rest_warehouse выполняется одинаково для всех значений... 1. Замер 0.3 сек где и как проводился? До появления первых строк в isql? 3. Ничто и никогда в АСА не выполняется одинаково!)))))) кто знает, что там внутри и как оно отрабатывает. Могу посоветовать включить профилировщик в централе на время тестового прогона. Он четко покажет сколько запускалась sf_rest_warehouse и сколько тратилось на нее времени. Построчно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 21:39 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
забыл пароль, простейшие запросы я проверял - работают на ура. так же переносил базу на другой сервер, чтобы исключить возможность аппаратных проблем. автор1. Замер 0.3 сек где и как проводился? До появления первых строк в isql? по данным isql автор3. Ничто и никогда в АСА не выполняется одинаково!)))))) кто знает, что там внутри и как оно отрабатывает. не придерайтесь ;) авторМогу посоветовать включить профилировщик в централе на время тестового прогона. Он четко покажет сколько запускалась sf_rest_warehouse и сколько тратилось на нее времени. Построчно. я включал дебаггер. из 10 минут выполнения, 9:57 выполнялся именно эта функция. ============= я провел еще такой тест: переписал процедуру под курсор. запустил. работает примерно столько же времени, сколько и сам запрос. погрешность незначительная. появилась теория, что когда вызывается инсерт в таблицу, то оптимизатор запускает эту функцию для каждой вставляемой строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 10:55 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
rashmanесть процедура в процедуре: Код: plaintext 1. 2. 3. 4. 5. Может убрать on commit preserve rows ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 11:44 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
Sergey Orlov Может убрать on commit preserve rows а как это может повлиять? внутри процедуры комитов нет... а даже если бы и были... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 12:21 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
rashmanSergey Orlov Может убрать on commit preserve rows а как это может повлиять? внутри процедуры комитов нет... а даже если бы и были... Вы делаете commit после каждой вставки... Хотя может быть я и не прав... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 13:49 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
rashman, Как жаль, когда люди не слушают, что им говорят. Разницу в 3-х вариантах вставки видно или нет? ...оптимизатор запускает эту функцию для каждой вставляемой строки А разве функция работает по другому в принципе (для каждой выбираемой строки)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 15:27 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
Надеюсь известно, что isql не осуществляет выдачу всего результата на экран, а сначала выдает только Х первых записей. Вызов функции делается одинаково, что для select, что для insert select. Поэтому, если в isql результат запроса (а вернее первые Х записей) выдается через 5 сек, то это означает, что функция могла быть вызвана только Х раз. Если же сделать output to, то тогда с сервера на клиента перетекут все записи и функция будет вызвана по всему массиву. Я не зря посылаю Вас к профилировщику, в котором видно не только и не столько время выполнения, сколько количество вызовов функции, и основного места потери времени в ней. К тестовым запросам от "забыл пароля" могу добавить еще один: Код: plaintext 1. 2. 3. 4. 5. 6. P.S.: И не забывайте делать sa_flush_cache() между тестами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 22:01 |
|
||
|
local temporary table - тормоза при наполнении
|
|||
|---|---|---|---|
|
#18+
в isql вывожу все 7000 строк... всем огромное спасибо за участие! полностью переписываю процедуру расчетов. так будет быстрее. сроки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 10:49 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=30&tid=2010722]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 407ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...