powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / PowerDesigner - создание партиций create partitions
4 сообщений из 4, страница 1 из 1
PowerDesigner - создание партиций create partitions
    #39627807
mlc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Может знает кто, как создать партицированную таблицу с использование vbscript?
Как сделать это через ГУИ знаю, а вот программно хз. Обнаружил, что объекта table.Partitions не существует. В доке пишут, что партции наследуются по ветке BaseObject > IdentifiedObject > TransformationTarget > Partition, но как мне это должно помочь пока ума не приложу. Может ткнет кто носом где почитать или поделится примером, хотя бы на колене?
...
Рейтинг: 0 / 0
PowerDesigner - создание партиций create partitions
    #39627862
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 10.04.2018 11:00, mlc wrote:

> Может знает кто, как создать партицированную таблицу с использование vbscript?
> Как сделать это через ГУИ знаю, а вот программно хз. Обнаружил, что объекта table.Partitions не существует. В доке
> пишут, что партции наследуются по ветке BaseObject > IdentifiedObject > TransformationTarget > Partition, но как мне это
> должно помочь пока ума не приложу. Может ткнет кто носом где почитать или поделится примером, хотя бы на колене?

По-моему все опции секционирования загнали в BaseTable.PhysicalOptions, а эта такая равесистая клюква, что с ней очень
осторожно приходится работать. Достаточно посмотреть в свойствах DBSM что понаписано по путям
Profile\Table\Forms\Partitions, как формируется страница свойств секций.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
PowerDesigner - создание партиций create partitions
    #39628868
mlc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov,

Спасибо за подсказку. Как оказалось есть несколько способов задать партицирование для таблицы: либо через setExtendedAttribute, либо через Physical Options. Оставлю примеры тут, может кому пригодится.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
'-----------------------------------------------------------------------------
' The procedure splits the table into partitions by range
'-----------------------------------------------------------------------------
Private Sub PartitionByRangeInterval(byref table)
   'Range / Composite
   table.SetExtendedAttribute "TablePropertiesTablePartitioningClausesRangeOrCompositePartitioningClausePresence", true
   
   'Column list
   table.SetExtendedAttribute "TablePropertiesTablePartitioningClausesRangeOrCompositePartitioningClausePartitionByRangeColumnListColumn", "MD_DATETIME_FROM"
   
   'Define interval & Expression
   table.SetExtendedAttribute "RangePartitionIntervalPresence", true
   table.SetExtendedAttribute "RangePartitionIntervalExpression", "INTERVAL '1' MONTH"
   
   'Partition details
   table.setextendedattribute "TablePropertiesTablePartitioningClausesRangeOrCompositePartitioningClausePartitionByRangePartitionListPartitionDefinition", "PARTITION_10000101 VALUES LESS THAN (TO_DATE('1000-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))"
End Sub


Для того, чтобы индексы создавались локальными партицированными, при создании ключа необходимо добавить:
Код: vbnet
1.
keyObj.SetPhysicalOptionValue "<constraint_state>/using index/<local_partitioned_index>/local", "LOCAL"
...
Рейтинг: 0 / 0
PowerDesigner - создание партиций create partitions
    #39631371
mlc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mlc,

Может знает кто, отчего процедура PartitionByRangeInterval работает долго? Для партицирования 50-ти таблиц требуется ~ 1 минута.
Насколько я понимаю тут 2 варианта - либо непотимальный код, либо методы SetExtendedAttribute сами по себе не очень быстрые. Может есть в таком случае альтернатива?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / PowerDesigner - создание партиций create partitions
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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