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.
Looking For A New Job?
- 7 Year Lead Programmer with MSSQL expertise to assist in live website at Atprime Media Services
- .Net Developer at LendingUSA
- ColdFusion Application Developer / Portland Oregon at DealerPeak
- Web Applications Developer at University of California, Davis