This is puzzling. There is no difference in the upgrade part of the logs 1 and 3.
In all logs except #3 there seem to be other db accesses at the same time. There is the unlikely possibility of one of those access holding a lock that gets in the way of the movies listing.
I'll throw a few things to avoid many back and forth.
Please turn on "database" component logging in addition to debug mode.
You'll then find in your log several lines with variations of "select * from movie_view".
The one logged when you navigate into Movies is most likely "select * from movie_view WHERE isDefaultVersion = 1", but confirm it for yourself by matching the time of the log line for example.
Execute the query with a mysql frontend of your choice on the same computer that runs Kodi to check if the time spent matches the time reported in Kodi's log.
Also provide the output of the query, prefixed with "EXPLAIN "
ex."explain select * from movie_view where isdefaultversion = 1;"
It could make things easier to have both good and bad db around on your server under different names.
However a straightforward database rename operation was made obsolete some time ago so the official way is now to use mysqldump to export and reinject into a new database with a different name...
If you're more adventurous,
https://stackoverflow.com/questions/6709...chema-name has a few scripts to rename without dumping.
In advancedsettings.xml you can add a <name> tag inside <videodatabase> to connect to one or the other. It acts as a prefix (ex. <name>bad</name>), Kodi will automatically append the version number (131) to connect, so name the db accordingly.
Last thing I can think of is a text file comparison of a dump (mysqldump) of the good and bad db.