See http://tickets.musicbrainz.org/browse/OTHER-64 for details. These two queries should return the same result, but they don't:
select * from artist_name where id = (select name from artist_credit where id=621728);
select * from artist_name where id = (select name from artist_credit_name where artist_credit=621728);
I assume that artist_credit.name is not correctly updated on merge.
Do we gain a lot from this materialization? Is it best to fix the materialization, or replace it with a live view instead?
It's used for sorting.
Yes, but it can be used for sorting with a sub select and join too (which can be abstracted away with a view).