In this invention, we propose an adaptive lock escalation scheme that can significantly enhance the performance of the database management system under excessive lock requests. In existing lock escalation methods, under excessive lock requests, the system's performance degrades abruptly even leading to a live halt in the worst case.
The present invention, an adaptive lock escalation in database management systems, proposes a new notion of the unescalatable lock, which is the major cause for making the transactions abort due to lack of lock resources. It uses semi lock escalation and lock blocking based on the total number of unescalatable locks to suppress the growth of unescalatable locks. Furthermore, it guarantees that at least one transaction can complete without getting into live halt by using selective relief. Consequently, the present invention significantly enhances the performance and prevents the system from getting into live halt gradually transiting to a serial execution of transactions under excessive lock requests.
The present invention has the characteristics including the following steps: (a) using semi lock escalation based on the total number of escalatable locks, (b) using lock blocking based on the total number of unescalatable locks, (c) using selective relief when there are no more lock resources available, and all the transactions are blocked waiting for the lock or block resource, and (d) undoing semi lock escalation and lock blocking based on the total number of unescalatable locks of (a) & (b) steps.