Products Support Documentation Download
AVL Index

RDM has an index algorithm specifically for use by the in-memory storage engine called an AVL tree. An AVL is a self-balancing binary tree that in RDM is implemented internally to a row instead of externally. There is no data duplication in the AVL as, unlike in a B-tree, external nodes containing copies of indexed columns are not maintained. An AVL is a binary tree, meaning the depth of the tree will be much larger than that of a B-tree. For this reason, the AVL index is better suited for the in-memory storage engine using the expanded row format than the on-disk-based engine using the packed row format. The packed row format does contain an implementation for the AVL index, but this is included primarily for persisting an in-memory image to disk and not intended for general use in disk-based tables.

An AVL can be used for any operations that a B-tree index would be used for. The AVL supports lookups, ranges, scanning, and both duplicate or unique constraints. The SQL optimizer will utilize an AVL in the same manner as a B-tree but will use a slightly different weight based on the implementation differences between a B-tree and an AVL.