Algorithms performance in function of disk accesses
$L := Number \ of \ index \ levels$
$K := Number \ of \ overflow \ pages \ chained \ with \ a \ data \ page$
Member Function
Performance
Non Primary Key
Primary Key
locate(KeyType key)
$\mathcal{O}(L)$
Makes 1 access for each index level
Makes 1 access for each index level
search(KeyType key)
$\mathcal{O}(L+K)$
Locates the key and then searches in all the chained pages
Locates the key and iterates over each chained data pages until the first record such that key = index(record) is found
insert(RecordType& record)
$\mathcal{O}(L+K)$
Locates the key and then looks for the first non-full data page
Locates the key and verifies in all chained pages if the key already exists and inserts the record at the first non-full data page found
When there is no space for a new record in a chain of record pages, a new overflow page is created and linked to previous overflow pages.
ISAM tree is static; therefore, the number of disk accesses used to locate a key (known as $L$ ) is constant, as it never changes.