Интерактивный режим выполнения запросов
Выполнив команду ydb
без подкоманд, запустится интерактивный режим выполнения запросов. Консоль или терминал будут переведены в интерактивный режим. После этого можно вводить запросы напрямую в консоль или терминал, при вводе символа перевода строки запрос считается законченным и он начинает исполняться. Текст запроса может представлять из себя как YQL запрос, так и специальную команду. Также между запусками сохраняется история запросов, доступны автодополнение команд и поиск по истории запросов.
Общий вид команды:
ydb [global options...]
global options
— глобальные параметры.
Горячие клавиши
Горячая клавиша | Описание |
---|---|
CTRL + D |
Позволяет выйти из интерактивного режима. |
Up arrow |
Пролистывает историю запросов в сторону более старых запросов. |
Down arrow |
Пролистывает историю запросов в сторону более новых запросов. |
TAB |
Дополняет введенный текст до подходящей YQL команды. |
CTRL + R |
Позволяет найти в истории запрос, содержащий заданную подстроку. |
Специальные команды
Специальные команды специфичны для CLI и не являются частью синтаксиса YQL. Они предназначены для выполнения различных функций, которые нельзя выполнить через YQL запрос.
Команда | Описание |
---|---|
SET param = value |
Команда SET устанавливает значение внутренней переменной param в value . |
EXPLAIN query-text |
Выводит план запроса query-text . Эквивалентна команде ydb table query explain. |
EXPLAIN AST query-text |
Выводит план запроса query-text вместе с AST. Эквивалентна команде ydb table query explain --ast. |
Список внутренних переменных
Внутренние переменные устанавливают поведение команд и задаются с помощью специальной команды SET
.
Переменная | Описание |
---|---|
stats |
Режим сбора статистики для последующих запросов. Возможные значения:
|
Примеры
Выполнение запроса в режиме сбора статистики full
:
$ ydb
ydb> SET stats = full
ydb> select * from table1 limit 1
┌────┬─────┬───────┐
│ id │ key │ value │
├────┼─────┼───────┤
│ 10 │ 0 │ "" │
└────┴─────┴───────┘
Statistics:
query_phases {
duration_us: 14987
table_access {
name: "/ru-central1/a1v7bqj3vtf10qjleyow/laebarufb61tguph3g22/table1"
reads {
rows: 9937
bytes: 248426
}
}
cpu_time_us: 2925
affected_shards: 1
}
process_cpu_time_us: 3816
total_duration_us: 79530
total_cpu_time_us: 6741
Full statistics:
Query 0:
ResultSet
└──Limit (Limit: 1)
TotalCpuTimeUs: 175
TotalTasks: 1
TotalInputBytes: 6
TotalInputRows: 1
TotalOutputBytes: 16
TotalDurationMs: 0
TotalOutputRows: 1
└──<UnionAll>
└──Limit (Limit: 1)
└──TableFullScan (ReadColumns: ["id","key","value"], ReadRanges: ["key (-∞, +∞)"], Table: impex_table)
Tables: ["table1"]
TotalCpuTimeUs: 154
TotalTasks: 1
TotalInputBytes: 0
TotalInputRows: 0
TotalOutputBytes: 16
TotalDurationMs: 0
TotalOutputRows: 1