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

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

Как найти тех у rого Age=X Понятно.
А как получить список имеющихся Age? это конечно FAQ но еще не нашел ответа
...
Рейтинг: 0 / 0
17.01.2007, 15:59
    #34262178
Stpl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как получить список значений индекса?
там наверное д.б. чтото типа $Order(^DW.PersonI("IAge"),"") для получения первого элемента, но я явно упускаю чтото в обращении PersonI("IAge"...
подскажите плиз.
...
Рейтинг: 0 / 0
17.01.2007, 16:16
    #34262239
Maksim UM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как получить список значений индекса?
вопрос какой-то странный... для чего получить откуда (COS, внешние проги)
в классе наверное еще есть что-то вроде Property Age As %Integer...
в целом, можно SQL, например:
Код: plaintext
&sql(SELECT Age INTO :a FROM DW.Person)
...
Рейтинг: 0 / 0
17.01.2007, 16:27
    #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
17.01.2007, 16:46
    #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
17.01.2007, 16:49
    #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
17.01.2007, 17:01
    #34262421
Stpl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как получить список значений индекса?
Блин, я же с этого и начинал... почему сразу не прошло... мда... грабли М-начинающего
Спасибо!!!!
...
Рейтинг: 0 / 0
17.01.2007, 17:04
    #34262432
Sergei Obrastsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как получить список значений индекса?
StplБлин, я же с этого и начинал... почему сразу не прошло... мда... грабли М-начинающего
Спасибо!!!!
Код: plaintext
1.
$Order(^DW.PersonI("IAge"),"") 

после "IAge" скобочка была лишней
...
Рейтинг: 0 / 0
17.01.2007, 17:10
    #34262457
Stpl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как получить список значений индекса?
почти так:)
...
Рейтинг: 0 / 0
17.01.2007, 22:54
    #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
17.01.2007, 23:03
    #34263162
Stpl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как получить список значений индекса?
Т.е. при такой интеграции всех моделей гарантируется нахождение нужного битмаповского индекса и реальной разницы в производительности не будет между ResultSet и $order?
...
Рейтинг: 0 / 0
18.01.2007, 01:52
    #34263262
VadimF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как получить список значений индекса?
StplТ.е. при такой интеграции всех моделей гарантируется нахождение нужного битмаповского индекса и реальной разницы в производительности не будет между ResultSet и $order?

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

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

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

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


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