powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / как получить список значений индекса?
13 сообщений из 13, страница 1 из 1
как получить список значений индекса?
    #34262150
Stpl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
упс, не туда кликнулся...

Class DW.Person Extends (%Persistent) [ ClassType = persistent ]
{
Index IAge On Age [ Type = bitmap ];
}

Как найти тех у rого Age=X Понятно.
А как получить список имеющихся Age? это конечно FAQ но еще не нашел ответа
...
Рейтинг: 0 / 0
как получить список значений индекса?
    #34262178
Stpl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
там наверное д.б. чтото типа $Order(^DW.PersonI("IAge"),"") для получения первого элемента, но я явно упускаю чтото в обращении PersonI("IAge"...
подскажите плиз.
...
Рейтинг: 0 / 0
как получить список значений индекса?
    #34262239
Maksim UM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос какой-то странный... для чего получить откуда (COS, внешние проги)
в классе наверное еще есть что-то вроде Property Age As %Integer...
в целом, можно SQL, например:
Код: plaintext
&sql(SELECT Age INTO :a FROM DW.Person)
...
Рейтинг: 0 / 0
как получить список значений индекса?
    #34262273
Stpl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Property Age As %Integer... конечно есть.
Получить нужно на COS, а использовать здесь SQL не вижу смысла, т.к. наверняка есть простой и быстрый способ перечисления значений индекса.
В глобалях я например вижу для ^DW.PersonI
^DW.PersonI("IAge",30,1) = "‘"_$c(1,1,0,6,0)
^DW.PersonI("IAge",32,1) = "“"_$c(1,1,0,4,0)
^DW.PersonI("IAge",37,1) = "•"_$c(1,1,0,2,0)

ну и наверняка есть возможноть получить список 30,32,37
...
Рейтинг: 0 / 0
как получить список значений индекса?
    #34262365
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StplProperty Age As %Integer... конечно есть.
Получить нужно на COS, а использовать здесь SQL не вижу смысла, т.к. наверняка есть простой и быстрый способ перечисления значений индекса.
В глобалях я например вижу для ^DW.PersonI
^DW.PersonI("IAge",30,1) = "‘"_$c(1,1,0,6,0)
^DW.PersonI("IAge",32,1) = "“"_$c(1,1,0,4,0)
^DW.PersonI("IAge",37,1) = "•"_$c(1,1,0,2,0)

ну и наверняка есть возможноть получить список 30,32,37
Код: plaintext
1.
set Age="" for  Age=$Order(^Dw.Person("IAge",Age)) quit:Age=""  write !,Age
...
Рейтинг: 0 / 0
как получить список значений индекса?
    #34262376
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergei Obrastsov StplProperty Age As %Integer... конечно есть.
Получить нужно на COS, а использовать здесь SQL не вижу смысла, т.к. наверняка есть простой и быстрый способ перечисления значений индекса.
В глобалях я например вижу для ^DW.PersonI
^DW.PersonI("IAge",30,1) = "‘"_$c(1,1,0,6,0)
^DW.PersonI("IAge",32,1) = "“"_$c(1,1,0,4,0)
^DW.PersonI("IAge",37,1) = "•"_$c(1,1,0,2,0)

ну и наверняка есть возможноть получить список 30,32,37
Код: plaintext
1.
set Age="" for  Age=$Order(^Dw.Person("IAge",Age)) quit:Age=""  write !,Age

Код: plaintext
1.
set Age="" for  set Age=$Order(^Dw.Person("IAge",Age)) quit:Age=""  write !,Age

прошу прощения, поторопился
...
Рейтинг: 0 / 0
как получить список значений индекса?
    #34262421
Stpl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин, я же с этого и начинал... почему сразу не прошло... мда... грабли М-начинающего
Спасибо!!!!
...
Рейтинг: 0 / 0
как получить список значений индекса?
    #34262432
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StplБлин, я же с этого и начинал... почему сразу не прошло... мда... грабли М-начинающего
Спасибо!!!!
Код: plaintext
1.
$Order(^DW.PersonI("IAge"),"") 

после "IAge" скобочка была лишней
...
Рейтинг: 0 / 0
как получить список значений индекса?
    #34262457
Stpl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
почти так:)
...
Рейтинг: 0 / 0
как получить список значений индекса?
    #34263154
VadimF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так как это форум sql.ru могу предложить следующий вариант.
select distinct(имя поля) from имя таблицы

Например, в области Samples есть класс Person.

select distinct(Home_ZIP) from Sample.Person

План запроса:
* Read bitmap index Sample.Person.ZipCode, looping on %SQLUPPER(Home_Zip) and ID.
* For each row:

Достаточно просто и не надо думать где лежат данные и индексы.
В коде нужно применять ResultSet.

Вадим
...
Рейтинг: 0 / 0
как получить список значений индекса?
    #34263162
Stpl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. при такой интеграции всех моделей гарантируется нахождение нужного битмаповского индекса и реальной разницы в производительности не будет между ResultSet и $order?
...
Рейтинг: 0 / 0
как получить список значений индекса?
    #34263262
VadimF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StplТ.е. при такой интеграции всех моделей гарантируется нахождение нужного битмаповского индекса и реальной разницы в производительности не будет между ResultSet и $order?

Гарантируется использование индекса.
Единственный момент - это то, что в коде придется создавать объект ResultSet, на что уйдет какое-то время. Но все равно с ним работать удобнее.
Что касается самого запроса, то по индексу он выполниться очень быстро.

Разница будет несущественная, соответственно переходить на прямой доступ скорее всего не будет иметь смысл.

Все это стоит проверить. Мне сложно сказать, насколько часто встречается такая операция.

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


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