Eric McDermid just checked in a nice new feature into Mondrian which
optimizes the SQL generated by MySQL. It takes advantage of the fact
that in MySQL, if some of your
GROUP BY columns are unique, you can
leave the other columns out of the
GROUP BY clause, and MySQL does
In some cases, a lot less work. MySQL implements
GROUP BY by sorting,
and since this reduces the volume of data being sorted, Eric reports
significant performance improvements. Unfortunately it only works on
MySQL, since MySQL is the database I know which has this feature.
See the latest schema documentation for more details.
I’ll note that we reserve the right to change the syntax a little in future versions. In mondrian-4.0 we’re adding physical schemas, which will include much more information about tables and relationships, so it would make sense to declare unique keys along with that. But rest assured that even if we do change the syntax, the feature will still be present.