My understanding is that a SQL Server batch consists of 1 or more statements that will be executed sequentially. The last batch time should be the time when the batch was started. Also, multiple batches can be submitted over the same connection.
The blocking-process event has a wait time and a lastbatchstarted. The confusion I'm having is that the wait time seems to be based on the batch start time but the lastbatchstarted seems to be mislabeled and appears to actually be based on the last statement started.
In my testing environments I am seeing that lastbatchstarted resets after different statements from the same batch are executed but wait time doesn't.
I am unable to find information confirming this online. Can someone let me know if lastbatchstarted is actually last statement started?
Also, as an aside, BOL recommends never using a blocked process threshold lower than 5. There isn't really any detail other than the fact that the blocked process monitor may run continuously. Is there any additional information of the impact of this? Will it negatively impact performance or break something if the threshold is set to a number lower than 5?