On Wed, Oct 7, 2009 at 10:02 AM, Andrew Pace <[email protected]> wrote: > > I too choose PostgreSQL by default. > > Here are some of my reasons. > > 1) It adheres more reliably to SQL standard than MySQL.
No it doesn't, they are both standards compliant. > 2) PostgreSQL has a better query planner than MySQL. MySQL's explain works great for me. http://dev.mysql.com/doc/refman/5.0/en/using-explain.html Looks nearly identical to the PostgreSQL offering: http://www.postgresql.org/docs/8.4/static/using-explain.html > 3) The number value zero in MySQL is treated NULL. That's a lie. mysql> select * from test; +----+--------+ | id | number | +----+--------+ | 1 | 0 | +----+--------+ 1 row in set (0.00 sec) mysql> select * from test where number is null; Empty set (0.00 sec) > 4) The default settings for MySQL make it case IN-sensitive. So what? You can easily make an individual table case sensitive by creating it with proper binary collation. mysql> create table test3 (name varchar(255)) character set latin1 collate latin1_bin; Query OK, 0 rows affected (0.04 sec) mysql> insert into test3 values ('Frank'),('Google'),('froogle'),('flickr'),('FlicKr'); Query OK, 5 rows affected (0.00 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM test3 WHERE name LIKE 'F%'; +--------+ | name | +--------+ | Frank | | FlicKr | +--------+ 2 rows in set (0.00 sec) mysql> SELECT * FROM test3 WHERE name LIKE 'f%'; +---------+ | name | +---------+ | froogle | | flickr | +---------+ 2 rows in set (0.00 sec) > 5) Until version 5.0, MySQL did not support referential integrity, or > advanced features like views, transactions, or triggers. This argument is useless. There's a ton of things PostgreSQL used to not do when it was < 5.0. Replication, binary field storage, etc. -- Greg Donald http://destiney.com/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

