[
https://issues.apache.org/jira/browse/IGNITE-22501?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Iurii Gerzhedovich updated IGNITE-22501:
----------------------------------------
Epic Link: IGNITE-24171
> Sql. Batching DDL statement for scripts
> ---------------------------------------
>
> Key: IGNITE-22501
> URL: https://issues.apache.org/jira/browse/IGNITE-22501
> Project: Ignite
> Issue Type: Improvement
> Components: sql
> Reporter: Iurii Gerzhedovich
> Priority: Major
> Labels: ignite-3
>
> From an architectural perspective, AI3 has many waits for any DDL statements
> due to need to have strong guarantees. It leads to a significant time of
> execution initialization script of a database containing tens or tons of DDL
> ( CREATE TABLE, CREATE INDEX ...) statements.
> To increase of performance such scripts we could do batch operations with a
> some reordering.
> We need to understand not all operations can be reordered. For example
> CREATE INDEX can't be executed earlier than CREATING TABLE, DROP TABLE can't
> be reordered with any other operation on the same table.
> As the first step, we can go with very simple optimization, but it should
> give as good boost for most cases. Let's batch all CREATE TABLE 's from a
> script while we meets only CREATE TABLE and CREATE INDEX statements and
> execute as first batch. The second batch will be CREATE INDEX statements
> which we meet during collecting the first batch. We can continuously repeat
> the operation as we start meet CREATE INDEX and CREATE TABLE statements.
> The proposed solution has one important consequences, which need to be
> reflected in the documentation. Operations can be reordered and any separated
> operations can be finished with an error, so after the user receives an error
> they can't be sure which part of the script was applied.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)