Skip to main content

SQL Query Tuning

Follwoing points need to be taken care while developing the ADf application.With these points we can improve the application perforemance.

1. Understanding of the Data, Business, and Application : First and most importanat point is to understand the data model properly,in terms of table dependency.If we are clear about relationship between tables then it will be easy to write query and implement the logic by using various clauses,conditions,joins..

2. Simple is usually faster  :  instead of writing a very complex SQL qeries, if we break it into multiple simple SQL statements then the chances are quite high that the performance will improve. Make use of the EXPLAIN PLAN to see the query cost. 

3. Joining tables in the proper order : Use proper joins between the tables.An improper join can result into performance issues.

4. Using Bind Variables, Stored Procs, and Packages : use proper bind variables where possible in queries.It will fetch the required results only and take less time.

5. Using the indexes carefully : Using indexes can improve the performance but if we do nat use them properly thy may result to erformance degradation. 

6.Using WHERE clause instead of HAVING clause : usage of WHERE clause may take advantage of the index defined on the column(s) used in the WERE clause.

7. Using realistic test data : Use of realtime data always helps to identify and fix the isses.

8. Using EXPLAIN PLAN : It let you know the cost of your query line by line.So that you can identify or fix the issue at exact step or line. Press F10 in SqlDeveloper to get the cost of query.

9. Using the leading index columns in WHERE clause - the WHERE clause may use the complex index access path in case we specify the leading index columns of a complex index otherwise the WHERE clause won't use the indexed access path.

10. Using ORDER clause BY for an indexed scan.

11. Reducing network traffic - If we can club multiple SQL statements in a single PL/SQL block then the entire block can be sent to Oracle Server involving a single network communication, which will eventually improve performance by reducing the network traffic.
Arrays and PL/SQL blocks can be used effectively to reduce the network traffic.

12. Use of ROWID and ROWNUM : These special columns are used to ipmrove the performance. RowID search is the fastest for Oracle DB and this must be used wherever possible. RowNum is used where we want to strict the no of rows.

Comments

Popular posts from this blog

Oracle ADF Interview questions

Why ADF ?     Oracle ADF (Application Development Framework) is state of the art technology to rapidly build enterprise application. ADF is a mature J2EE development framework and many other products under Oracle Fusion Middleware stack are build upon ADF 11g. ADF provides variety of inbuilt components that minimizes the need to write code allowing users to focus more on features and business aspects of the application. With WebCenter and SOA plugins, we can also integrate WebCenter Services and SOA into your application making it rich and extensible. Explain about JSF lifecycle ? The six phases of the JSF application lifecycle are as follows (note the event processing at each phase): -Restore view -Apply request values; process events -Process validations; process events -Update model values; process events -Invoke application; process events -Render response Immediate=true : A command button that does not provide ...

The file store "WLS_DIAGNOSTICS" could not be opened

WLS_DIAGNOSTIC ERROR weblogic.store.PersistentStoreException: [Store:280073]The file store "WLS_DIAGNOSTICS" could not be opened because it contained a file with the invalid version 1. A file of version 2 was expected. When you get this error while running your application on internal weblogic server delete the following file WLS_DIAGNOSTICS000000.DAT search the file in following path C:\jdev_work\system11.1.1.5.37.60.13\DefaultDomain this file is in DefaultDomain folder of your jdev. and delete the WLS_DIAGNOSTICS000000.DAT file . and run your applicatuon

Overview Editor for bc4j.xcfg

This is used to customize the configuration settings for the application pool, connection pool, and transactions. Select the Application Module, then select a configuration from the Configurations list. You can specify a Default Configuration from the dropdown to use with selected application module. Edit the name of the configuration in Details. Its having 3 tabs 1.Database and Scalability 2. Properties 3. Custom Properties Database and Scalability Tab : In Database and Scalability you can mention the JDBC data source definition for each application module. You can choose to connect to a JDBC data source or to a JDBC URL.The default connection type is the default data source. A data source is a vendor-independent encapsulation of a database server connection on the application server. 1. Data sources ( JNDI name) offer advantages over a JDBC URL connection because the data source can be tuned, reconfigured, or remapped without changing the deployed application. 2. JDB...