powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как в ASE узнать какие процедуры выполняются в данный момент?
10 сообщений из 10, страница 1 из 1
Как в ASE узнать какие процедуры выполняются в данный момент?
    #34082366
rvr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rvr
Гость
С помощью sp_showplan получаю план выполняемого в данный момент запроса, но context_id возвращает идентификатор таблицы sysusers, а не хранимой процедуры.
Я не разработчик SQL, а просто пытаюсь разобраться почему купленный нами продукт имеет очень низкую производительность, так что не судите строго если вопрос тривиальный :).
...
Рейтинг: 0 / 0
Как в ASE узнать какие процедуры выполняются в данный момент?
    #34082508
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rvrС помощью sp_showplan получаю план выполняемого в данный момент запроса, но context_id возвращает идентификатор таблицы sysusers, а не хранимой процедуры.
Я не разработчик SQL, а просто пытаюсь разобраться почему купленный нами продукт имеет очень низкую производительность, так что не судите строго если вопрос тривиальный :).
для ответа на этот вопрос необходимо сначала получить представление о системе в целом. Итак:
1) select @@version
2) конфигурацию сервера как железки
3) конфигурация дисковой подсистемы
4) sp_configure
5) sp_cacheconfig

пока хватит ;)
присылайте
...
Рейтинг: 0 / 0
Как в ASE узнать какие процедуры выполняются в данный момент?
    #34082699
rvr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rvr
Гость
Adaptive Server Enterprise/12.5.2/EBF 12123/P/Linux Intel/Enterprise Linux/ase1252/1839/32-bit/OPT(Express Edition)/Fri Aug 13 08:27:18 2004
Это все необходимо, чтобы узнать какая процедура выполняется? :). Дело в том, что в одном из запросов сканируется таблица имеющая 450тыс. записей, нужно бы его переписать, а я не могу найти процедуру, в которой этот запрос выполняется.
...
Рейтинг: 0 / 0
Как в ASE узнать какие процедуры выполняются в данный момент?
    #34083054
Фотография DimaU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользують таким запросом для отыскивания "узких" мест:
авторselect
p.spid,
p.fid,
p.status,
suser_name(p.suid) as login,
db_name(p.dbid) as db_name,
object_name(l.id,l.dbid) as table_name,
p.program_name,
object_name(p.id,p.dbid) as procedure_name,
p.cmd,
p.stmtnum,
p.linenum,
p.cpu,
p.physical_io,
p.memusage,
p.blocked,
l.class,
v.name as name_L,
vlc.name as name_L2,
p.time_blocked,
l.page,
l.row,
p.tran_name,
p.priority,
--p.loggedindatetime,
p.hostname
--,p.ipaddr
from
master..sysprocesses p
left outer join master..syslocks l on p.spid = l.spid
left outer join master..spt_values v on l.type = v.number and v.type = 'L'
left outer join master..spt_values vlc on l.context + 2049 = vlc.number and vlc.type = 'L2'
where
(p.spid!=0)
order by login
поля - procedure_name и linenum (номер строки в процедуре) ваши, а
также есть автоматика из анализа блокировок - смотрите статья
...
Рейтинг: 0 / 0
Как в ASE узнать какие процедуры выполняются в данный момент?
    #34083060
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rvrAdaptive Server Enterprise/12.5.2/EBF 12123/P/Linux Intel/Enterprise Linux/ase1252/1839/32-bit/OPT(Express Edition)/Fri Aug 13 08:27:18 2004

rvrЭто все необходимо, чтобы узнать какая процедура выполняется? :).

запрошенное поможет понять сконфигурирован ли у Вас вообще сервер... Просто по умолчанию под процедурный кэш отводится 8 мегабайт, и соответственно ни о какой мало-мальской производительности не может быть и речи ;)

rvr
Дело в том, что в одном из запросов сканируется таблица имеющая 450тыс. записей, нужно бы его переписать, а я не могу найти процедуру, в которой этот запрос выполняется.
ну это-то просто ;)

Код: plaintext
1.
2.
3.
use ВАША_БАЗА
go
select object_name(id),* from syscomments where text like '%искомый код%'
go
...
Рейтинг: 0 / 0
Как в ASE узнать какие процедуры выполняются в данный момент?
    #34083854
rvr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rvr
Гость
Спасибо, DimaU! Кажется это то, что мне нужно.

Спасибо, komrad! Только вот мне не известен "искомый код",
т.к. о сканировании я узнаю из sp_showplan
sp_showplan
STEP 2
The type of query is UPDATE.
The update mode is direct.

FROM TABLE
ServiceAccount
Nested iteration.
Table Scan.
Forward scan.
Positioning at start of table.
Using I/O Size 16 Kbytes for data pages.
With LRU Buffer Replacement Strategy for data pages.
...
Рейтинг: 0 / 0
Как в ASE узнать какие процедуры выполняются в данный момент?
    #34087573
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как в ASE узнать какие процедуры выполняются в данный момент?
    #34093880
c0smic_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую это:
авторselect
p.spid,
p.fid,
p.status,
suser_name(p.suid) as login,
db_name(p.dbid) as db_name,
object_name(l.id,l.dbid) as table_name,
p.program_name,
object_name(p.id,p.dbid) as procedure_name,
p.cmd,
p.stmtnum,
p.linenum,
p.cpu,
p.physical_io,
p.memusage,
p.blocked,
l.class,
v.name as name_L,
vlc.name as name_L2,
p.time_blocked,
l.page,
l.row,
p.tran_name,
p.priority,
--p.loggedindatetime,
p.hostname
--,p.ipaddr
from
master..sysprocesses p
left outer join master..syslocks l on p.spid = l.spid
left outer join master..spt_values v on l.type = v.number and v.type = 'L'
left outer join master..spt_values vlc on l.context + 2049 = vlc.number and vlc.type = 'L2'
where
(p.spid!=0)
order by login
А как определить, так сказать "подвисшие" соединения или соединения, которые уже долго остаются неактивными? Можно это из системных данных вытащить, есть ли у Sybase вообще такой критерий, как неактивное соединение?
авторAdaptive Server Enterprise/12.5.2/EBF 12060 ESD#2/P/NT (IX86)/OS 4.0/ase1252/1844/32-bit/OPT/Thu Aug 12 00:13:38 2004
...
Рейтинг: 0 / 0
Как в ASE узнать какие процедуры выполняются в данный момент?
    #34100987
c0smic_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А то не хочется как-то тему новую создавать.
...
Рейтинг: 0 / 0
Как в ASE узнать какие процедуры выполняются в данный момент?
    #34101016
W357
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот в выше приведенном вами же запросе, обратите внимание на значения полей:

p.cpu,
p.physical_io,
p.memusage,
p.blocked,
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как в ASE узнать какие процедуры выполняются в данный момент?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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