I'll bookmark this answer and show to anyone who ask about mysql \m/

Felipe 'chronos' Prenholato.
Linux User nº 405489
Home page: http://devwithpassion.com | http://chronosbox.org/blog
GitHub: http://github.com/chronossc/ | Twitter: http://twitter.com/chronossc


2013/3/18 Russell Keith-Magee <russ...@keith-magee.com>

>
> On Tue, Mar 19, 2013 at 12:07 AM, Philip Goh <philip.wj....@gmail.com>wrote:
>
>> They're much of a muchness. I've favoured Postgres because it seems more
>> straightforward as there aren't multiple distributions and crucially
>> multiple storage engines to worry about. In MySQL's favour, Amazon RDS
>> makes it incredibly simple to set up a scalable and reliable database so
>> bear that in mind if you're targeting Amazon's EC2 infrastructure.
>>
>> In the end, if you're asking this question you can't go far wrong if you
>> toss a coin and pick one.
>>
>>
> Much of a muchness? They *really* aren't. One of them is an actual
> database. One of them… isn't.
>
> I've used both MySQL and PostgreSQL in production sites, and I've been a
> developer on Django's ORM for over 7 years. In all that time, my experience
> of MySQL has been a constant stream of "What the hell were they smoking".
> In all that time, I can't think of a single thing PostgreSQL has done which
> was equally surprising. PostgreSQL just does what a database should do.
>
> PostgreSQL is a fast, well engineered database that follows the SQL
> specification well. It has a rich indexing structure, and a query planner
> that makes generally smart decisions.
>
>  MySQL doesn't implement transactions at all under MyISAM, and gets them
> *wrong* under InnoDB (constraint deferral anyone?). It has an incredibly
> naive indexing structure, and a query planner that is dumb as a bag of
> hammers. If it's even *possible* for the MySQL query planner to use an
> index, it will almost universally select the *wrong* index. And I hope you
> weren't planning to do anything exotic like a subquery.
>
> And then, just for giggles, MySQL does stuff like this:
>
> https://code.djangoproject.com/ticket/16809
>
> Summary - if you issue a SELECT query that contains an "WHERE X IS NONE"
> clause, and nothing matches the SELECT, and an object was inserted by the
> last statement, the SELECT query returns *the primary key of the object
> that was recently inserted*, not an empty result set. Anyone who can
> rationalize this behavior without resorting to medicinal grade
> hallucinogens wins a shiny new penny.
>
> Once upon a time, you *might* have been able to argue that MySQL was
> easier to install, was faster for certain usage profiles, and had better
> support for master/slave setups. But that was 5-10 years ago.
>
> At this point in time, the *only* advantage that MySQL has is it's
> ubiquity, especially when it comes to deployment platforms -- MySQL's
> historical popularity means that some cloud hosting providers (like Amazon)
> provide MySQL support before they provide PostgreSQL support. However, you
> can get cloud hosted PostgreSQL (e.g., Heroku), and it's not *that* hard to
> set up yourself if that's compatible with your needs.
>
> tl;dr - Friends don't let friends use MySQL.
>
> Yours,
> Russ Magee %-)
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/django-users?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to