使用多个联合和联接改进SQL查询(hdbsql)

使用多个联合和联接改进SQL查询(hdbsql),sql,hana,Sql,Hana,我想在性能方面改进下面的SQL查询,我是SQL的初学者,在Hana数据库hdbsql中工作 任务是将数据从4个表中抓取到7列中,这些列是一堆数据。我和工会一起做的,据我所知,这是非常缓慢的 CREATE VIEW SAMPLE_VIEW AS SELECT column1, column2, column3, column4, NULL AS column5, tab2.prop2, 'GENERAL' AS STATUS FROM table1 tab1 INNER

我想在性能方面改进下面的SQL查询,我是SQL的初学者,在Hana数据库hdbsql中工作

任务是将数据从4个表中抓取到7列中,这些列是一堆数据。我和工会一起做的,据我所知,这是非常缓慢的

CREATE VIEW SAMPLE_VIEW AS
    SELECT column1, column2, column3, column4, NULL AS column5, tab2.prop2, 'GENERAL' AS STATUS 
    FROM table1 tab1
    INNER JOIN table2 tab2 ON tab1.prop1 = tab2.prop1 

    UNION ALL 

    SELECT column1, column2, NULL, NULL, NULL AS column5, tab2.prop2, 'ADD_TERMS' AS STATUS 
    FROM table1 tab1
    INNER JOIN table2 tab2 ON tab1.prop1 = tab2.prop1 

    UNION ALL

    SELECT tab4.prop2, tab3.prop2, NULL, NULL, tab4.prop1, tab4.prop2, 'NUMBER_TO_TERMS' AS STATUS 
    FROM table3 tab3
    LEFT JOIN table4 tab4 ON tab3.prop1 = tab4.prop1
    INNER JOIN table5 tab5 ON tab4.prop2 = tab5.prop2 
    WHERE tab4.prop2 IS NOT NULL
目前我的查询结果平均为10毫秒。目标是将其减少到5毫秒。
任何帮助都将不胜感激。

不,
UNION-ALL
并不慢。它只是连接不同查询的结果。它是
UNION
这很慢,因为它删除了重复项。前两个查询返回相同的数据。您可以通过删除其中一个并返回所有列来提高性能。10毫秒相当快。不,
UNION all
并不慢。它只是连接不同查询的结果。它是
UNION
这很慢,因为它删除了重复项。前两个查询返回相同的数据。您可以通过删除其中一个并返回所有列来提高性能。10毫秒相当快。