Inspection
SQL - EXPLAIN
EXPLAIN SQL command returns information about query execution planning of a specific statement, without executing the statement itself.
Syntax
EXPLAIN <command>
-
<command>Defines the command that you want to profile, eg. a SELECT statement
Examples
-
Profile a query that executes on a type filtering based on an attribute:
ArcadeDB {db=foo}> explain select from v where name = 'a'
Profiled command '[{
executionPlan:{...},
executionPlanAsString:
+ FETCH FROM TYPE v
+ FETCH FROM BUCKET 9 ASC
+ FETCH FROM BUCKET 10 ASC
+ FETCH FROM BUCKET 11 ASC
+ FETCH FROM BUCKET 12 ASC
+ FETCH FROM BUCKET 13 ASC
+ FETCH FROM BUCKET 14 ASC
+ FETCH FROM BUCKET 15 ASC
+ FETCH FROM BUCKET 16 ASC
+ FETCH NEW RECORDS FROM CURRENT TRANSACTION SCOPE (if any)
+ FILTER ITEMS WHERE
name = 'a'
}]' in 0,022000 sec(s):
For more information, see:
SQL - PROFILE
The PROFILE SQL command returns information about query execution planning and statistics for a specific statement.
The statement is actually executed to provide the execution stats.
The result is the execution plan of the query (like for EXPLAIN ) with additional information about execution time spent on each step, in microseconds.
Syntax
PROFILE <command>
-
<command>Defines the command that you want to profile, eg. a SELECT statement
Examples
PROFILE SELECT sum(Amount), OrderDate
FROM Orders
WHERE OrderDate > date("2012-12-09", "yyyy-MM-dd")
GROUP BY OrderDate
result:
+ FETCH FROM INDEX Orders.OrderDate (1.445μs)
OrderDate > date("2012-12-09", "yyyy-MM-dd")
+ EXTRACT VALUE FROM INDEX ENTRY
+ FILTER ITEMS BY TYPE
Orders
+ CALCULATE PROJECTIONS (5.065μs)
Amount AS _$$$OALIAS$$_1, OrderDate
+ CALCULATE AGGREGATE PROJECTIONS (3.182μs)
sum(_$$$OALIAS$$_1) AS _$$$OALIAS$$_0, OrderDate
GROUP BY OrderDate
+ CALCULATE PROJECTIONS (1.116μs)
_$$$OALIAS$$_0 AS `sum(Amount)`, OrderDate
You can see the (1.445μs) at the end of the first line, it means that fetching from index Orders.OrderDate took 1.445 microseconds (1.4 milliseconds)
For more information, see:
SQL - CONSOLE
Writes a string message of given log-level to the log. Log-levels are:
-
output(none) -
log(INFO) -
error(SEVERE) -
warn(WARNING) -
debug(FINE)
| This command is useful for SQL scripts. |
To flush to the log, suffix the message with a newline \n.
|
Syntax
CONSOLE.logLevel <expression>
The command returns which page have been aligned on each server.
Examples
-
Write a message of level
INFOto the log.
CONSOLE.log map('Hello','World')