Current code logic for DELETE is as follows:
if WHERE clause contains a condition as "key=xxx", it uses fastUpdate which
remove the related item directly.
else
do select for update;
for each row, call closure code "RMV" to remove it.
1. As "executeSelectForDml" get _KEY and _VAL columns for all condidate rows,
it often causes OOM when there are a lot of data to delete. Why do we verify
"val" during remove operation?
2. After selection, why don't we just remove it with cache.remove as
fastUpdate does?