You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Alin Andrei Corodescu (JIRA)" <ji...@apache.org> on 2017/11/13 08:30:00 UTC
[jira] [Created] (IGNITE-6877) Improve behaviour for non-correlated
subqueries
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)