then you upgraded without clearing the database. This is a big problem. It is necessary to carefully read the documentation for each version.
In file QlikSense30ReleaseNotes.pdf page 14
Perform a database cleaning before migrating to 3.0 It is recommended that customers with large amount of users or applications performs a database cleaning before migrating from 2.0.x to 3.0. After performing an upgrade in a multi-node environment, it can take very long time for newly created database items (such as sheets, applications, bookmarks, or tags) to appear on all nodes. This is caused by long synchronization queues between the nodes, as a result of the upgrade. All new items will be at the end of these queues. From Sense 2.2 the repository database is stored in RAM to improve the performance, for users with very large databases the database can become larger than the available RAM on the server which results in an error during startup. If you are running a large installation (users or apps) we recommend that you perform the steps described below before performing the upgrade. Workaround: Synchronization queues will eventually finalize by themselves, but in very large environments this can take several hours. If you import a large Active Directory, it is recommended to do the following before upgrade to reduce upgrade synchronization queues: Make sure that you applied best practices for User Directory connectors: https://community.qlik.com/docs/DOC-14708 If a large Active Directory has been imported without filters, do the following: 1. Setup LDAP import filters, according to the best practice guide, to reduce size of imported user attributes. 2. Remove users and perform a new import of the Active Directory. 3. Run the Database Cleanup Script, provided by Qlik, to clean the repository database before upgrading. To acquire the Database Cleanup Script, log in to the Support Portal and search for article “17620”. The title of the article is “Qlik Sense Database Cleanup Script 2.2.x”. 4. Restart the system and start the upgrade.
When doing this on previous updates, it turned out there were all sorts of weird stuff in the repository, that could be removed. We did not benchmark the system pre and post the cleanup, but it did feel snappier after tidying the repository db.
On the other hand, what's causing all this mess (broken foreign keys are kind of bad...)?
I would hope Qlik are taking steps to improve things, so these issues don't appear to begin with..
Please mark the post as a solution if it provided you with a solution to the topic at hand. Thanks!