I get to play with a lot of deadlocks these days, part by chance and part by choice. So I thought it is a good idea to start a blog series about handling different types deadlocks.
I will try to establish some context about general deadlock properties and then introduce you to some common and some not so common deadlock patterns.
Deadlock due to different access Paths
Deadlock due to different access Order
Deadlock due to different lock granularity
Deadlock due to Foreign Key Constraints
Deadlocks due to Partition Level Lock Escalation
DEADLOCK on SELECT due to UNORDERED PREFETCH
Deadlocks involving Select Into
Deadlock due to Savepoint Rollback behavior
Deadlocks due to Hash Collision
Deadlocks Involving Lock Partitions
Deadlocks due to Lock Partitioning
Deadlock due to Implicit Conversion