An Efficient Method for Performing Record Deletions and Updates Using Index Scans

We present a method for efficiently performing deletions and updates of records when the records to be deleted or updated are chosen by a range scan on an index. The traditional method involves numerous unnecessary lock calls and traversals of the index from root to leaves, especially when the qualifying records' keys span more than one leaf page of the index. Customers have suffered performance losses from these inefficiencies and have complained about them. Our goal was to minimize the number of interactions with the lock manager, and the number of page fixes, comparison operations and, possibly, I/Os. Some of our improvements come from increased synergy between the query planning and data manager components of a DBMS. Our patented method has been implemented in DB2 V7 to address specific customer requirements. It has also been done to improve performance on the TPC-H benchmark.

[1]  Yun Wang,et al.  An efficient hybrid join algorithm: a DB2 prototype , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[2]  C. Mohan,et al.  Repeating History Beyond ARIES , 1999, VLDB.

[3]  David B. Lomet,et al.  Key Range Locking Strategies for Improved Concurrency , 1993, VLDB.

[4]  Rudolf Bayer,et al.  Organization and maintenance of large ordered indexes , 1972, Acta Informatica.

[5]  C. Mohan,et al.  ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multiaction Transactions Operating on B-Tree Indexes , 1990, VLDB.

[6]  Andreas Reuter,et al.  Tandem Database Group - NonStop SQL: A Distributed, High-Performance, High-Availability Implementation of SQL , 1987, HPTS.

[7]  Guy M. Lohman,et al.  Query Optimization in the IBM DB2 Family. , 1993 .

[8]  Gennady Antoshenkov,et al.  Dynamic optimization of index scans restricted by Booleans , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[9]  H SchollMarc,et al.  Transactional information systems , 2001 .

[10]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[11]  C. Mohan,et al.  Single Table Access Using Multiple Indexes: Optimization, Execution, and Concurrency Control Techniques , 1990, EDBT.

[12]  Marc H. Scholl,et al.  Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery , 2001, SGMD.

[13]  C. Mohan Commit_LSN: A Novel and Simple Method for Reducing Locking and Latching in Transaction Processing Systems , 1996, Performance of Concurrency Control Mechanisms in Centralized Database Systems.

[14]  G. Antoshenkov,et al.  Dynamic query optimization in Rdb/VMS , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.

[15]  C. Mohan,et al.  Interactions between query optimization and concurrency control , 1992, [1992 Proceedings] Second International Workshop on Research Issues on Data Engineering: Transaction and Query Processing.

[16]  R. Bayer,et al.  Organization and maintenance of large ordered indices , 1970, SIGFIDET '70.

[17]  C. Mohan,et al.  ARIES/IM: an efficient and high concurrency index management method using write-ahead logging , 1992, SIGMOD '92.

[18]  Hamid Pirahesh,et al.  ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging , 1998 .

[19]  C. Mohan Concurrency Control and Recovery Methods for B+-Tree Indexes: ARIES/KVL and ARIES/IM , 1996, Performance of Concurrency Control Mechanisms in Centralized Database Systems.

[20]  Gottfried Vossen,et al.  Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery , 2002 .

[21]  Meikel Pöss,et al.  New TPC benchmarks for decision support and web commerce , 2000, SGMD.