因业务的需要,写了一个多表的关联查询。多个表用 left join 关联,还用了一个OUTER APPLY。其中数据量大的表记录在百万条。查询已写成一个视图,程序里直接查视图。如果按主表的单据号来查询,很快就有结果。如果不输入任何条件,直接查询,就等好久都没结果。现在的问题是:涉及上面视图里其中的表,有插入数据的业务做不了,一直等待。
通过下面语句,发现表被锁死。
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT'KILL spid  后恢复正常。请问这个锁是查询引起的吗?还是其他原因,要如果解决。