Skip to main content

DB2 - How to avoid IN clause

As know IN clause is one of the performance decrease operator when operating huge volume of data. Let see how to avoid IN clause and what could be alternative way to accomplish same functionality.

This query contains IN clause and taking too much time

SELECT column_list FROM TABLE1
WHERE
Column_name in (SELECT column_name FROM TABLE2 )

To improve the performance of above query, could move the sub query statement into CTE ( Common Table Expression) and join with main query.

WITH CTE AS
(SELECT column_name FROM TABLE2 )
SELECT column_list FROM TABLE1
INNER JOIN CTE
ON TABLE1.column_name = CTE.column_name

That's it, The second query results tremendous improvement, when handling huge volume of data.

Any other questions to improve the DB2 performances, please feel free to write up


Comments

Popular posts from this blog

Install Grub Customizer in Debian based OS

Always we are looking to customize the boot menu, boot order, boot background image and changing the font & color. These things can be achieved by Grub Cusomizer in Linux. Follow the below steps to install latest version of Grub Cusomizer into Debian based OS (Kali, Parrot) Open the terminal, execute the following commands in order. 1. su - 2. apt-get install build-essential cmake libgtkmm-3.0-dev libssl-dev gettext libarchive-dev  3. wget https://launchpad.net/grub-customizer/5.0/5.0.6/+download/grub-customizer_5.0.6.tar.gz 4. tar xfv grub-customi*  5. cd grub-customizer-5.0.6 6. cmake . && make -j3  7. make install More information, Visit Grub Customizer site - https://launchpad.net/grub-customizer

How to Update Burp Suite in Kali Linux

Download the latest Jar file Navigate to /usr/bin and rename burpsuite to burpsuite(old) Copy the jar that was just downloaded into /usr/bin Right-click and rename the jar to burpsuite , and Allow executing file as program Upon successful launch, you can delete burpsuite(old) from /usr/bin.

Copy files and folders recursive in C#

This code written to copy files and folders recursively from one drive to another drive using C#, It could be physical storage, logical storage  or network location.  private static void Copy(string sourcePath, string targetPath)         {             foreach (string f in Directory.GetFiles(sourcePath))                 File.Copy(f, targetPath + "\\" + Path.GetFileName(f), true);             foreach (string d in Directory.GetDirectories(sourcePath))             {                 var dirName = Path.GetFileName(d);                 Directory.CreateDirectory(targetPath + "\\" + dirName);                 Copy(sourcePath + "\\" + dirName, targetPath + "\\" + dirName);           ...