Scalable Database Server, HiRDB Version 8 Description
When an attempt is made to add a key to an index page that does not contain any more free space, HiRDB allocates space for a new index page and splits the index information on the existing page. It then transfers the second portion of the index information to the new page. This is called index page splitting.
An index page can be split so that the existing index information is divided evenly in half, or it can be split unevenly (unbalanced index splitting).
Figure 3-28 shows an example of even-split index page splitting.
Figure 3-28 Example of even-split index page splitting
Adding many contiguous key values can degrade an index page's data storage efficiency. In such a case, it is advisable to split the index information on the index page unevenly; this is called unbalanced index splitting.
When unbalanced index splitting is used, the place in the index information at which the index page is split is determined by the location of the key value that is being added. If the location of the new key value is in the top part of the index page, the system assumes the subsequent keys will also be added in the top part. Therefore, it stores the top part in the left-hand page, using the key value that is one greater than the added key value as the partitioning position. If the location of the new key value is in the bottom part of the index page, the system assumes the subsequent keys will also be added in the bottom part. Therefore, it stores the bottom part in the right-hand page, using the key value of the added key as the partitioning position. Figure 3-29 shows an example of an unbalanced index split in which a key is added to the bottom part of an index page.
Figure 3-29 Example of unbalanced index split
All Rights Reserved. Copyright (C) 2007, Hitachi, Ltd.