Alin Andrei Corodescu created IGNITE-6877:
---------------------------------------------

             Summary: Improve behaviour for non-correlated subqueries
                 Key: IGNITE-6877
                 URL: https://issues.apache.org/jira/browse/IGNITE-6877
             Project: Ignite
          Issue Type: Improvement
      Security Level: Public (Viewable by anyone)
          Components: sql
    Affects Versions: 2.3
            Reporter: Alin Andrei Corodescu
            Priority: Minor


Ignite behaves poorly in terms of performance when given queries which contain 
IN or = operators followed by a non-correlated subquery. My guess is that the 
query is actually run for each row of the table in order to test the condition. 
A possible solution is to store the results of the subquery in a temporary 
table, and use it from there.
A workaround at the moment is to use joins instead of IN or = operators, but 
this makes the query much more complicated.

Example:
SELECT name
FROM Employees
WHERE age IN (SELECT age FROM Customers)

The performance of this query is very slow for small amounts of data (about 20 
seconds for 4000 rows in each table last time I tried)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to