Hi,

What is the problem being addressed by this change? We do not allow for
multiple indexes creation at a time. The only possible way to create an
index is CREATE INDEX command when only one index is created.

On Tue, Apr 17, 2018 at 10:08 PM, Manu <maxn...@hotmail.com> wrote:

> Hi!
>
> I have taken a look at this new functionality and it is very interesting.
> But I have a couple of doubts about the performance.
>
> For each modification of the same QueryEntitity, a new
> SchemaAbstractOperation is generated, in the case of adding columns the
> performance is not affected, but in the case of creating new indexes I
> think
> there is a problem:
>
> - If the modification in the QueryEntitity contains the creation of N
> indexes, N SchemaIndexCreateOperation are generated for the same table,
> this
> causes the underline cache to be scanned N times to populate each indice
> (by
> SchemaIndexCacheVisitorClosure). For caches with a few data is not a
> problem, but for caches with millions of records is not optimal.
>
> A possible solution would be to create a new type of
> SchemaAbstractOperation
> (for example SchemaUpgradeQueryEntityOperation with the new QueryEntity,
> boolean forceRebuild, boolean forceMutateQueryEntity), to register on one
> block this new QueryEntitity for:
>
> - Create new indices at same time (populate all indices with a single scan)
> (auto, like now)
> - With on demand forceMutateQueryEntity (ignore QueryEntity patch checks),
> ability to eliminate indices (and fully release resources) and columns.
> Over
> time the QueryEntity will evolve and at some point it is possible that
> certain columns and indices are not necessary any more... I think it would
> be interesting to allow trim indexed data and eliminate unused columns.
>
> Hope it helps!
>
> Regards
>
>
>
>
> --
> Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
>

Reply via email to