An annoyance: at work we’ve been using MySQL 5.0.x for a reasonably high volume service. We recently swapped a table we were using from MyISAM, to a view containing several normalised MyISAM tables. Despite having indexes to make the joins in the table efficient, it seems that a SQL query with a “NOT IN (x, y, z)” style WHERE clause performs so much worse than the non-normalised original MyISAM table. So while a view may look equivalent to the original table, it won’t perform the same for all queries.