Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
Parsing of a SQL statement is fairly expensive operation. We could reduce query processing time by introducing a cache of statement text to parsed syntax tree.
Suggested solution is as follow: when query text is passed to a query processor, it should be parsed first, then we need to check if such statement is already in a statements cache. If it is not, then statementId (type of long, locally unique) should be assigned to the statement and pair <statementId, parsed tree> should be passed next to the query optimizer. Query optimizer, in turn, check if the query with given statementId is alredy optimized.
Attachments
Issue Links
- causes
-
IGNITE-19866 Sql. Failed to optimize DELETE query plan.
- Open
- duplicates
-
IGNITE-17360 Sql. Introduce cache for parsed sql AST
- Resolved
-
IGNITE-19556 Sql. Implement cache for parsing sql requests.
- Resolved
- is related to
-
IGNITE-19358 Sql. PrepareServiceImpl prepareDML cache does not take dynamic parameters into account
- Resolved
- links to