Beware the premature optimization. Saying that one way to avoid these problems is to use lowest common denominator SQL sounds awful on the surface, because -- horrors! -- we can't use all those great, unique to one database only, functions we optimize performance. But in reality, very few of the database-unique SQL syntax is really highly optimized behavior (e.g. count(*) on a MySQL MyISAM table). Most of them are just "different" ways of doing things than standard or than other databases. concat() is not faster than standard SQL ||, for instance. ;-) We "waste" far more database performance by poorly designed tables, poorly designed indexes and poorly designed algorithms than we ever gain in MySQL unique features, I'll bet. Let's be sure we focus our optimization effort in places it really helps, and not let it get in the way of making the software more portable and useable. I now surrender the soapbox.