Hi Frank, Thanks for starting this discussion. Our contributors with SQL experience should step in.
Generally, I came across this performance issue a week or so ago while doing training about Ignite. In my case, a simple DELETE was running for a minute over a table of negligible size. - Denis On Tue, Nov 3, 2020 at 7:53 AM frank li <frankli22...@gmail.com> wrote: > 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? > > >