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

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

Passivation and Activation in ADF (Application Module )

1. For performance reasons, ADF keeps a pool of application modules in memory. It tries to give each session the same application module as the session used during the last request; however, this might not be possible during peak load of your application. 2. In this case, ADF saves the application modules state in a database table so the application module can be used by another session. This is called passivation . 3. When the first session needs the application module again, its state is retrieved from the database process known as activation . 4. If you have made an error in your code and depend on some variable that is not persisted correctly when your application module state is stored, you will experience mysterious errors under high load.   Enable/Disable Application Module Pooling : Right-click on your application module, choose Configurations.By default, each application module has two configurations. Ensure that the one ending in …Local is selected and then c...

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...