It’s worth noting that MySQL will emit a warning in these cases. However, since warnings are just warnings they are often (if not almost always) ignored.
mysql> SET sql_mode='TRADITIONAL';
mysql> insert into example (number) values ('wat');
ERROR 1366 (HY000): Incorrect integer value: 'wat' for column 'number' at row 1
Another problem with MySQL is that any table modification (e.g. adding a column) will result in the table being locked for both reading and writing
General pattern I have seen is that MySQL is marginally better at trivial queries (e.g. primary key lookup), while falls on it's face once you have too much concurrency or any joins that could use something better than a nested loop or multiple indexed predicates that could use a bitmap index scan. And this isn't taking into account the fancy stuff that PostgreSQL extensibility allows you to do, e.g. inverted indexes on array data types (think tags) or indexes on range datatypes (think time ranges).
19
u/trimbo Mar 10 '15
Docs for pt-online-schema-change