Optimizing Database Query Performance with Index-Based Scans and Concurrency Control
Predicate Pushdown to SeqScan
Integrate the Filter operator above the SeqScan operator into SeqScan itself, allowing the system to lock only rows that satisfy the predicate.
Modify the Next() function in SeqScanExecutor:
auto SeqScanExecutor::Next(Tuple *result_tuple, RID *result_rid) -> bool {
do {
if (table_iterator_ == table_info_-& ...
Posted on Thu, 14 May 2026 04:12:45 +0000 by richrock
B+Tree Index Concurrency Control and Latch Crabbing
Concurrency Strategy in B+Trees
Implementing thread safety in a B+Tree index requires protecting both the internal data of nodes and the structural integrity during split and merge operations. The standard protocol for this is Latch Crabbing, where a thread acquires a latch on a child node and only releases the latch on the parent if the child ...
Posted on Wed, 13 May 2026 03:39:59 +0000 by CUatTHEFINISH
Oracle Database Lock Types and Mechanisms Explained
Introduction
Databases serve multiple concurrent users. When several transactions access the same data simultaneously, controlling concurrency becomes essential to prevent data corruption and maintain consistency. Locks are the fundamental mechanism Oracle uses to enforce data integrity and isolate transactions.
Unlike some RDBMS that maintain ...
Posted on Sat, 09 May 2026 21:09:13 +0000 by Liquidedust