christophe.bernard 47659 - Monday, February 12, 2018 8:29 AM
You take shared locks when you select so the devices can't get their locks to synchronize (insert, update, etc).
As Eirikur already stated, we don't know enough about the data or table to say much else.
But do you really need to do a select * on a 600,000 row table? Do you really need all rows and all columns to start your query? Even if it didn't take that long (which does seem long in your case), I don't see where anyone could look through that much data. If you don't read through all of that data then you may want to change how you are querying. I worked on a similar vendor app and you really couldn't do something like that. there was a window of time where the devices usually weren't syncing and any ad hoc access was done during this window.
Sue