Found in 1 comment on Hacker News
mwexler · 2009-05-08 · Original thread
NOT EXISTS has been known to be faster than a join for years now. In what possible way is this news? NOT EXISTS allows for short circuiting, like an OR: if at least one record exists, processing can quit. The Join would need to process all records.

This puts into context all the people complaining about SQL and relational databases, and how great key-value stores are. Perhaps some of the sturm und drang is over the fact that, while SQL people admittedly may have little experience with Hadoop or other non-relational processing and storage, sounds like some HN folks have actually had little experience with the SQL they are disparaging.

Joe Celko's SQL for Smarties is full of great explanations of how to really use SQL, and is worth picking up if you want to see what SQL can really do and work around it's (many) warts. http://www.amazon.com/Joe-Celkos-SQL-Smarties-Programming/dp...

Fresh book recommendations delivered straight to your inbox every Thursday.