Reaching back out on this I just read the news on this I dont know the need for your app correct, but the help can be given.
I believe the best use case for your app can be the user settings menu. Using idetifiers or classes of ships if they are kept in your structure. Using a usersetting set up as an enum list. Select the classes of ship you care to look at in any given point. With user settings this happens outside of a sync so can be changed in any given situation.
You will need to set up the security filters in your tables lets call the table SHIPS
Table SHIPS should have a security filter that would be IN([Key Column], [_THISUSER].[Class EnumList]). All child tables of these should have their security filters IN([Parent Table SHIPS Ref], SHIPS[Key])
These will help reduce the amount of rows pulled and help with your sync times. It will also require a learning curve for the users as to understand that they will not be able to see the items if they are not in the usersetting column.
Building more indepth security filters can help further with this. As if there is a time where you do not need to see voyage logs or crew (examples of possible data kept) the user can enable or disable these via a Yes/No usersettings column to prevent the records from pullling in a sync.
Now if the task of naviagting back to the user settings menu becomes a task you can also make an action present on all views as a primary to be a link to view. Your formula will be LINKTOVIEW(“Settings”)
IF this is still a lengthy proccess for syncing you can set up a duel app setup where the first app is to Interact with the table you will create called User Selections like a usersettings style use case. It will need to have a row set up for each individual user know to access the app to prevent cross filtering issues. IF this list is known we can can build this. It will require more effort, but can work out in the end. The first app is your access point. Make each row that is your per user selections contain the users email. Then we will apply a security filter to only grab this users row. The user will make their selections then click save. Once the user clicks save the form view on save action will be link to another app. The app it will go to is the app containing your database data.
We will then link the now made user selections table to the second app. This table will have a security filter to only allow rows where [User Email Column] = USEREMAIL() . Then set up the security filter for the SHIPS table based on these selections. We will also need to see this view in the second app as to continue filtering as needed and the save on form view will need to include a sync now action to provide a reset to the filter options.
This will require more indepth searching into the appsheets comunity for a few quality techniques on doing this elegantly.
I hope this can help.
Google Documentation on USERSETTINGS() -
https://support.google.com/appsheet/answer/10108291?hl=en&sjid=12237341212918242704-NC