Before attempting tasks described in this chapter, familiarize yourself with the concepts in Chapter  10, Guidelines for Managing Schema Objects . An index is an optional structure associated with tables and clusters, which you can create explicitly to speed SQL statement execution on a table. Just as the index in this manual helps you locate information faster than if there were no index, an Oracle index provides a faster access path to table data. The absence or presence of an index does not require a change in the wording of any SQL statement. Given a data value that has been indexed, the index points directly to the location of the rows containing that value.
Indexes are logically and physically independent of the data in the associated table.
You can create or drop an index at anytime without effecting the base tables or other indexes. Indexes, being independent structures, require storage space. Oracle automatically maintains and uses indexes after they are created. Oracle automatically reflects changes to data, such as adding new rows, updating rows, or deleting rows, in all relevant indexes with no additional action by users. For more information about indexes, see Oracle8 Concepts .