The system, method, and program product of this invention allows a database
management system to internally use direct and indirect pointing to locate
targeted data elements that are logically related to another data element
or are a target of a secondary index. By using direct and indirect
pointing, the number of steps involved in a reorganization of the database
can be reduced. After a reorganization, the database management system
does not go back, in a separate process, to update all of the direct
pointers that have pointed to segments that have moved as a result of the
reorganization. Instead, the direct pointer is updated, by using the
indirect pointer, only upon a first reference to the targeted data element
that has moved. As such, each data element, that points to a targeted data
element, has a direct pointer associated with it having a unique
identifier of the targeted data element, assigned by the DBMS at the time
a data element is created, a partition id of the targeted segment, a
reorganization number, and a pointer to a location of the targeted data
element. Each targeted data element has an entry in an indirect index
where the unique identifier is the key into the index. Each entry is
updated, with a new location, whenever the targeted data element is moved.
The DBMS also maintains, in memory, a current reorganization number for
each partition. Upon reference to a targeted element, the reorganization
number in memory is compared with the reorganization number in the direct
pointer. If they match, the direct pointer is used to locate the targeted
element. If they do not match, the indirect index is used by indexing into
it by using the unique id in the direct pointer. The current location and
current reorg number from the indirect index are used to update the direct
pointer. The direct pointer can then be used, directly, to locate the
targeted data element on subsequent references until a next reorganization
involves the targeted data segment.
Система, метод, и продукт программы этого вымысла позволяют системаа организации хозяйства базы данных внутренне использовать сразу и косвенно указывать для того чтобы расположить пристрелнными элементами данных которые логически отнесены к другому элементу данных или будут цель вторичного индекса. Путем использование сразу и косвенно указывать, число шагов, котор включили в реорганизацию базы данных может быть уменьшен. После реорганизации, системаа организации хозяйства базы данных не идет назад, в отдельно процесс, уточнить весь из сразу указателей которые указывали к этапам которые двигали в результате реорганизации. Вместо, сразу указатель updated, путем использование косвенно указателя, только на первой справке к пристрелнному элементу данных который двигал. Как такие, каждый элемент данных, что пункты к пристрелнному элементу данных, имеет сразу указатель связал при он имея уникально обозначение пристрелнного элемента данных, быть заданным dbms at the time элемент данных создан, идентификации перегородки пристрелнного этапа, номера реорганизации, и указателя к положению пристрелнного элемента данных. Каждый пристрелнный элемент данных имеет вход в косвенно индексе где уникально обозначение будет ключом в индекс. Каждый вход updated, с новым положением, когда пристрелнный элемент данных двинут. Dbms также поддерживает, в памяти, в настоящее время номер реорганизации для каждой перегородки. На справке к пристрелнному элементу, номер реорганизации в памяти сравнен с номером реорганизации в сразу указателе. Если они сопрягают, то сразу указатель использован для того чтобы устроить пристрелнный элемент. Если они не сопрягают, то косвенно индекс использован путем индексировать в его путем использование уникально идентификации в сразу указателе. В настоящее время положение и в настоящее время номер reorg от косвенно индекса использованы для уточнения сразу указателя. Сразу указатель можно после этого использовать, сразу, для того чтобы устроить пристрелнный элемент данных на затем справках до тех пор пока следующая реорганизация не включить пристрелнный этап данных.