Improve query efficiency with Oracle function index anonymous Internet I want to comment (0) font size:
T|
T
To improve the efficiency of Oracle Database Query and retrieval, using function indexes is undoubtedly a very good method. The usage of Oracle function indexes is described in detail below for your reference.
AD:
Using Oracle function indexes is undoubtedly an effective way to improve query efficiency. The following describes how to use ORACLE function indexes in detail.
When talking about any operations on columns, full table scan may occur, for example:
- select * from emp where substr(ename,1,2)=’SM’;
However, this type of query is frequently used in the customer service system. We can create an oracle function index with the substr function,
- create index emp_ename_substr on eemp ( substr(ename,1,2) );
In this way, the function-based index will be used when the preceding query statement is executed, and the Execution Plan will be (index range scan ).
In the above example, we have created a function-based index, but if you execute the following query:
- select * from emp where substr(ename,1,1)=’S’
The expected execution plan will still be (Table access full), because function-based indexes will take effect only when the data column can match equations, in this way, the requirements for the planning and maintenance of such indexes are high. Note that adding an index to a table is very dangerous because it will lead to many changes to the query execution plan. However, if we use a function-based index, this issue will not occur, because Oracle uses this type of index only when matching built-in functions are used for queries.