文档详情

优化ORACLE查询SQL语句(Optimize the ORACLE query SQL statement).doc

发布:2017-07-22约1.58万字共15页下载文档
文本预览下载声明
优化ORACLE查询SQL语句(Optimize the ORACLE query SQL statement) (1) select the most efficient table name order (valid only in the rule based optimizer): The Oracle parser in accordance with the order from right to left with a table in the FROM clause, the FROM clause written at the end of the table (based on table driving table) will be processed first, in the FROM clause contains multiple tables, you must select the number of records at the table as the base table. If you have more than 3 tables connected to the query, you need to choose the table table (intersection) as the base table, which refers to the table referenced by other tables (2) the join order in the WHERE clause: The ORACLE sequence analysis of WHERE clause bottom-up, according to this principle, the connection between the tables must be written before the other end of the WHERE conditions, these conditions can filter out the maximum number of records that must be written in the WHERE clause. (3) avoid using * in the SELECT clause: ORACLE in the parsing process, will be * are converted to all the names, this is done by querying the data dictionary, which means there will be more time consuming (4) reduce the number of accesses to the database: ORACLE does a lot of work internally: parsing SQL statements, estimating index utilization, binding variables, reading data blocks, and so on; (5) to reset the ARRAYSIZE parameter in SQL*Plus, SQL*Forms, and PRo*C, you can increase the amount of retrieved data per database access, with a recommended value of 200 (6) use the DECODE function to reduce processing time: Using the DECODE function, you can avoid repeated scans of the same record or repeated connections to the same table (7) integrating simple, unrelated database access: If you have a few simple database query statements, you can integrate them into a query (even if they dont matter) (8) delete duplicate records: The most efficient way to delete duplicate records (using the ROWID) example: DELETE, FROM, EMP,
显示全部
相似文档