(2018-01-07, 20:24)ventolin Wrote: It has nothing to do with the minor version. I wasted much time testing it on several 5.7 versions, inside and outside of docker.
OK, if not the minor version, then you yourself admit 5.6.x is fine while 5.7.x is not. Is this a Kodi issue or a MySQL issue? I honestly don't know.
Without further evidence it's difficult to know what to do - assuming it's a MySQL bug, we can't code around every MySQL server bug, the best option in such a situation is to just avoid the specific MySQL Server version - we've had this situation with MariaDB too, when they released a buggy server version and the issue was resolved in the next minor update of MariaDB Server.
To the best of my knowledge MySQL performance hasn't been an issue since we introduced the
derived_merge=off
change over 2 years ago, so I'm really not sure why it would be a problem now unless something has changed in MySQL 5.7.x, or it's the type of connector you are using (testing with LibireELEC would have ruled out such variables).
(2018-01-07, 20:24)ventolin Wrote: Since what Kodi is doing is essentially turning off database optimizations
Not so much turning off an optimisation, rather we are instructing MySQL to support the types of queries it has historically supported (prior to 5.7.6, I believe) which means we don't have to refactor the entire MySQL support (which would probably have meant a swifter end to MySQL support if I'm honest).
(2018-01-07, 20:24)ventolin Wrote: then the important thing is to test with a realistic set of fixtures in the db. Put more data in the db and you *will* see a very obvious difference in performance.
What's realistic for you isn't necessarily realistic for me, particularly without knowing the spec of the server hosting the database. But sure - do you want to upload a backup of your Music database, maybe someone will be willing to load/test it, or we can use it in future. Personally my Music db is quite small, 7800 songs/351 albums, and my backend MySQL Server is only 5.5.21 running on a low-powered NAS (HP N36L with 8GB RAM), so in some sense it's all relative - a small db on low powered server, large db on higher powered server, what is realistic here, at what point does it become unreasonable to host a large database on a low powered server?