I would suggest that the author refers to a composite index when it talks about a "two-part single index." The term composite index is a much more common way of accessing an index on multiple columns of a table.
If you have one composite index in two columns, only one index structure should be supported during insertion, so the overhead of maintaining the index is not much different from the overhead of maintaining one index with one column.
CREATE TABLE t1 ( col1 NUMBER, col2 NUMBER, col3 NUMBER ); CREATE INDEX t1_composite_idx ON t1( col1, col2 );
On the other hand, if you create separate indexes for each column separately, Oracle should support two separate index structures, which is about twice the amount of index maintenance required.
CREATE TABLE t1 ( col1 NUMBER, col2 NUMBER, col3 NUMBER ); CREATE INDEX t1_idx1 ON t1( col1 ); CREATE INDEX t1_idx2 ON t1( col2 );
However, I would be quite careful about the "factor of three" quoted by the author. There are many variables that come into play that are not captured by this particular rule. Itβs useful to remember that adding indexes imposes potentially significant costs on insert operations, but itβs much more useful to measure the actual costs you incur when you weight the trade-offs to create another index.
Are there any other types of indexes?
As for your last question, Oracle has quite a few different types of indexes (especially if we count composite indexes as different types of indexes). This answer was exclusively about b * -tree indexes, which people usually mean when they refer to "indexes" without qualifiers. However, Oracle supports a number of different types of indexes: b * -tree indexes, bitmap indexes, text indexes, etc. It creates LOB indexes. It supports custom extensible indexes. And in each type of index, there are often many different options. For example, you can create a b * -tree index based on functions or a raster join index, you can specify custom lexers for the Oracle Text index, or you can define your own index structure for your own type.