Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как оптимизировать запрос , прошитый жёстко в код!? / 11 сообщений из 11, страница 1 из 1
25.08.2009, 12:55
    #36161510
boogiman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оптимизировать запрос , прошитый жёстко в код!?
Добрый день всем!
Есть такой запрос, который работает медленно! Он прошит жёстко при отображении таблиц Dbartisanom. Что делать как быть, тут два table scan в этом запросе, но накатить индексы на системные таблицы не предостовляется возможным , как и поправить сам запрос (клиентская часть).
Что можно вообще сделать? Спасибо!
SELECT USER_NAME(uid),O.name,rowcnt(doampg),S.name,creation = O.crdate, case sysstat2 & 57344 when 32768 then 'datarows' when 16384 then 'datapages' else 'allpages' end FROM sysobjects O, sysindexes I, syssegments S WHERE O.type = 'U' AND O.id=I.id AND I.indid IN (0,1) AND I.segment=S.segment ORDER BY 1,2
...
Рейтинг: 0 / 0
25.08.2009, 14:12
    #36161728
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оптимизировать запрос , прошитый жёстко в код!?
boogimanДобрый день всем!
Есть такой запрос, который работает медленно! Он прошит жёстко при отображении таблиц Dbartisanom. Что делать как быть, тут два table scan в этом запросе, но накатить индексы на системные таблицы не предостовляется возможным , как и поправить сам запрос (клиентская часть).
Что можно вообще сделать? Спасибо!
SELECT USER_NAME(uid),O.name,rowcnt(doampg),S.name,creation = O.crdate, case sysstat2 & 57344 when 32768 then 'datarows' when 16384 then 'datapages' else 'allpages' end FROM sysobjects O, sysindexes I, syssegments S WHERE O.type = 'U' AND O.id=I.id AND I.indid IN (0,1) AND I.segment=S.segment ORDER BY 1,2

а зачем вам ускорять артизан?
если мешает жить, то посмотрите версию поновее (у вас какая сейчас?)
или памяти добавьте серверу, чтобы читал из кэша

а вообще, приведите статистику выполнения запроса - там всё видно будет
...
Рейтинг: 0 / 0
25.08.2009, 14:22
    #36161751
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оптимизировать запрос , прошитый жёстко в код!?
boogiman,

выполните и покажите результат статистики


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
set statistics io on
set statistics time on

SELECT USER_NAME(uid),O.name,rowcnt(doampg),S.name,creation = O.crdate, 
case sysstat2 &  57344  
when  32768  then 'datarows' 
when  16384  then 'datapages' 
else 'allpages' end 
FROM sysobjects O, sysindexes I, syssegments S 
WHERE O.type = 'U' AND O.id=I.id AND I.indid IN ( 0 , 1 ) AND I.segment=S.segment 
ORDER BY  1 , 2 

set statistics io off
set statistics time off
...
Рейтинг: 0 / 0
25.08.2009, 14:46
    #36161849
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оптимизировать запрос , прошитый жёстко в код!?
komrad пишет:

> а зачем вам ускорять артизан?

Ну, он видимо это при старте выполняет, или когда
ему нужны все таблицы. Если таблиц или вообще объектов в базе
много, просто он этот запрос будет по пол-часа выполнять.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25.08.2009, 14:47
    #36161860
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оптимизировать запрос , прошитый жёстко в код!?
boogiman пишет:

> Есть такой запрос, который работает медленно! Он прошит жёстко при
> отображении таблиц Dbartisanom. Что делать как быть, тут два table scan
> в этом запросе, но накатить индексы на системные таблицы не
> предостовляется возможным , как и поправить сам запрос (клиентская часть).
> Что можно вообще сделать? Спасибо!

Ну, что тут сделаешь, ничего тут не сделаешь

Мы в своё время с аналогичной проблемой сталкивались с Crystal Report,
так пришлось залезать в его ресурсы (хорошо хоть запрос был в ресурсе)
и хакать запрос. В основном хаканье свелось к тому, что мы его
закомментировали.

Посмотри, если у него запрос тоже в ресурсе лежит, что вполне возможно,
что можно заменить. При этом учти, что запрос можно переписывать как
угодно, размер строки в ресурсе можно менять. А вот если он уже будет
в бинарке, в коде, то там ОБЯЗАТЕЛЬНО НУЖНО СОХРЯНЯТЬ ДЛИНУ СТРОКИ
до байтика. Ни уменьшать, ни увеличивать строку нельзя.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25.08.2009, 15:00
    #36161914
boogiman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оптимизировать запрос , прошитый жёстко в код!?
Masterziv - спасибо, можно попробовать на досуге!
Komrad - артизан 8.1.2 , я думаю свежая версия не поможет, тормоза начались когда поставил тип блокировки на рнекоторых таблицах datarows. План запроса прилагаю, я знаю что он кривой. Просто я надеялся - что вы скажете как на системные таблицы обманным путём можно индексы накатить :)
...
Рейтинг: 0 / 0
25.08.2009, 15:29
    #36162026
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оптимизировать запрос , прошитый жёстко в код!?
boogiman План запроса прилагаю, я знаю что он кривой. Просто я надеялся - что вы скажете как на системные таблицы обманным путём можно индексы накатить :)

план запроса я могу и сам получить
интересна статистика - см. запрос, который я указал
...
Рейтинг: 0 / 0
25.08.2009, 18:05
    #36162467
boogiman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оптимизировать запрос , прошитый жёстко в код!?
Sorry - вот оно
...
Рейтинг: 0 / 0
26.08.2009, 11:21
    #36163387
SQLMantis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оптимизировать запрос , прошитый жёстко в код!?
boogimanSorry - вот оно

Бррр... Komrad, MasterZiv
Три с лихом секунды на выполнение set statistics time on?
Я правильно понимаю?
...
Рейтинг: 0 / 0
26.08.2009, 20:55
    #36164892
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оптимизировать запрос , прошитый жёстко в код!?
Я вот не понял, что от меня хотят.
...
Рейтинг: 0 / 0
27.08.2009, 10:52
    #36165522
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как оптимизировать запрос , прошитый жёстко в код!?
SQLMantisboogimanSorry - вот оно

Бррр... Komrad, MasterZiv
Три с лихом секунды на выполнение set statistics time on?
Я правильно понимаю?

ага

автору предлагаю пару-тройку раз прогнать запрос и посмотреть что со временем выполнения set statistics

автор,
сам запрос у вас работает быстро - 16 мс
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как оптимизировать запрос , прошитый жёстко в код!? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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