Most important difference is probably clustering. We had to do a lot of PK changes when our mysql database received more rows.
Our access patterns are mostly analytical. A lot of scanning and aggregating has to be done. Nobody cared about clustering before so we had to change a lot of table schemas to make our IO efficient.
I only heard from colleagues that such issues are easier to handle in postgres because it is more flexible. But for mysql, you have to understand that primary key and clustering key are always the same thing.
(of course this depends on the storage engine, but it's the behavior of the standard engine innodb)