You can use NOLOCK, but I would recommend it only in cases where you know that "dirty data" is permissible (for example, the syslog database in which you know the data will never be modified or deleted after its installation). The best way to do this is to SELECT from data that is NOT blocked; can you identify strings that your insert is not affecting? For example, if your data is inserted with the default CreateDate column equal to GETDATE (), make sure your queries retrieve data from BEFORE this point.
Of course, it all depends on how much data is written, and regardless of whether the insert operator creates string or block pages or tables ...
source share