recently i found that on one of the remote test databases servers there were about 2575 session/shared locks held on three tables each in different database.
these three tables are most frequently used. The problem was with the application, the developers had opened the connection but had not closed the connection anywhere in the application.
I found that, when i tested some report queries on my local machine and on this test server with the same data, the results on my local machine was faster.
I would like to have your view on how shared/session locks affect the performance of the queries.