1. In a computing system that supports indexing on a dynamically sorted list of recorded data items, a method of efficiently determining an index value for a recorded data item within a data array using a secondary key, while minimizing the number of index value updates needed based on modifications of the plurality of recorded data items, by using a combination of a lookup table and binary tree, the method comprising: receiving a request to access a data element within a data array that sorts a list of data elements using indices, wherein each data element within the list includes at least one field that is considered a secondary key in that the list of data elements within the data array are arranged in random order relative to their corresponding secondary key field; receiving a secondary key corresponding to the data element; using a lookup table data structure to determine a node placement within a binary tree data structure corresponding to the secondary key; and based on the node placement within the binary tree, calculating an index value for the data element used in accessing at least a portion thereof, wherein the index value is an offset into the data array relative to the other indices.