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
-~----------~----~----~----~------~----~------~--~---

Reply via email to