1
0
Fork 0
arangodb/Documentation/Books/AQL/ExecutionAndPerformance
Frank Celler a5a25754ed Feature/reduce extraction to projection (#2792)
* reduce extractions to projections

* recycle string buffers in SocketTask

* micro optimizations for mmfiles indexes

* added special lookup function for _key

* moved function into the correct file

* speed up key buffer allocations a bit

* added noexcept specifier

* correctly name variable

* explicitly move bounds

* fix and speedup from/toPersistent functions

* reuse string from ManagedDocumentResult for multiple lookups

* use move-assign

* a bit less work for single server

* speedup AQL function HASH

* single fetch optimization

* performance optimization for the case when no documents need to be returned

* make reduce-extraction-to-projection a RocksDB-only optimizer rule

* cppcheck

* try to fix compile error on MacOS

* bug fix for MacOSX

* missing namespace (in Windows compile)
2017-07-14 08:40:29 +02:00
..
ExplainingQueries.md rename .mdpp files to .md so the handling is easier. 2017-05-04 12:04:24 +02:00
Optimizer.md Feature/reduce extraction to projection (#2792) 2017-07-14 08:40:29 +02:00
ParsingQueries.md rename .mdpp files to .md so the handling is easier. 2017-05-04 12:04:24 +02:00
QueryCache.md rename .mdpp files to .md so the handling is easier. 2017-05-04 12:04:24 +02:00
QueryStatistics.md rename .mdpp files to .md so the handling is easier. 2017-05-04 12:04:24 +02:00
README.md rename .mdpp files to .md so the handling is easier. 2017-05-04 12:04:24 +02:00

README.md

AQL Execution and Performance

This chapter describes AQL features related to query executions and query performance.

  • Execution statistics: A query that has been executed also returns statistics about its execution.

  • Query parsing: Clients can use ArangoDB to check if a given AQL query is syntactically valid.

  • Query execution plan: If it is unclear how a given query will perform, clients can retrieve a query's execution plan from the AQL query optimizer without actually executing the query; this is called explaining.

  • The AQL query optimizer: AQL queries are sent through an optimizer before execution. The task of the optimizer is to create an initial execution plan for the query, look for optimization opportunities and apply them.

  • The AQL query result cache: an optional query result cache is used to avoid repeated calculation of the same query results.