in reply to advice perl and mysql

If your query takes that long, maybe your forgot to create the right indizes? Did you let mysql explain the query to you?

While mysql does have some problem with optimizing subselects it's ususally not that slow.

If you use DBI you can change the database without modifying 99% of your code - just plug in a different DSN, and it uses another DBD::something backend.

If you wrote non-standard SQL you might have to fix some of that when you switch to a different DBMS.

Update: There are other ways of keeping your applications cross-platform btw. One is an ORM-Wrapper like Rose::DB::Object or DBIx::Class, another one is to use SQL::Abstract directly.