I have just applied a nasty hack here which seems to help the problem.
I created a new ‘album’ table, using the same schema as ‘songs’. I then did ‘insert into album select * from songs where track = 1’. I now had a table with just one entry per album.
Next I took a hex editor to the mt-daapd binary. I searched for the string ‘distinct album from songs’ and replaced it with ‘select distinct album from album’. There were two occurrences to change.
The downside is that the album table now gets out of sync with ‘songs’ after an index. This needs to be corrected. The upside is ‘Browse Albums’ is much faster.
This could presumably be tidied up a lot. I just wanted quick results.