You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Denis Magda <dm...@apache.org> on 2020/11/03 16:08:19 UTC

Re: delete is too slow, sometimes even causes OOM

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 <fr...@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?
>
>
>