Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / оптимизация выборки / 5 сообщений из 5, страница 1 из 1
07.09.2007, 12:12
    #34783887
yot
yot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация выборки
здраствуйте

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

ClassMethod ClsCubData()
{
s rs=##class(%ResultSet).%New()
s sc=rs.Prepare("select * from %Dictionary.ClassDefinition where ( Super like '%XP.EXT%')")
d rs.Execute()
s Name = ""
while (rs.Next()){
s Name = Name_"|"_rs.Get("Name")
}
q Name
}
...
Рейтинг: 0 / 0
07.09.2007, 12:14
    #34783899
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация выборки
нормального способа наверно нет
...
Рейтинг: 0 / 0
07.09.2007, 12:19
    #34783920
ну я
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация выборки
yotздраствуйте

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

ClassMethod ClsCubData()
{
s rs=##class(%ResultSet).%New()
s sc=rs.Prepare("select * from %Dictionary.ClassDefinition where ( Super like '%XP.EXT%')")
d rs.Execute()
s Name = ""
while (rs.Next()){
s Name = Name_"|"_rs.Get("Name")
}
q Name
}
Это неверный способ, поскольку не находит подклассы подклассов.
Правильный способ:
класс %Library.ClassDefinition, запрос SubclassOf
...
Рейтинг: 0 / 0
07.09.2007, 12:38
    #34784005
yot
yot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация выборки
У нас наверно немного разные версии каше... в 2007.1.0.369.0 %Library.ClassDefinition уже нет, а вместо него %Dictionary.ClassDefinition...
сейчас немного изменил запрос... чуть быстрее стало но все равно не достаточно...

запрос select Name from %Dictionary.ClassDefinition where ( Super [ 'XP.EXT')

попробую наверно сейчас достать через глобаль, но не думаю что будет на много быстрее (
...
Рейтинг: 0 / 0
07.09.2007, 12:41
    #34784018
yot
yot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация выборки
все нормально... с тем запросом который написал ниже выполняется гораздо быстрее..... (а первый раз соврал что дольше... проц был сильно загружен)
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / оптимизация выборки / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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