SQL UNION ALL Does Not Check Duplicates
Posted June 5, 2006 at 1:55 PM by Ben Nadel
I am in the SQL optimization mood and just recalled a little fact that I learned recently at the New York ColdFusion User's Group (NYCFUG). Shlomy Gantz was giving a presentation on SQL 2005 when he put up a screen that had "UNION ALL" on it. I am a user of UNION and had never see "ALL" appended before.
They explained that the ALL clause prevented the SQL server from checking for duplicates. See, when you union different record sets, it goes through and checks to make sure you are not duplicating records as a result of the union (remember your Ven Diagrams).
If you UNION ALL, then it performs the union but does NOT go back and check for duplicates. If you are not expecting duplicates, this can be a big performance boost. For example, if you were going to create a "What's New" query by combining recent press release and news items, you would not expect duplicates as they are coming from completely different sets of data.
Another small but very cool piece of information.
What Other People Are Searching For
[ local search ]
union all query duplicates
[ local search ] sql different union and union all
[ local search ] sql union coldfusion
[ local search ] coldfusion sql union
[ local search ] all clause sql