# SQL 执行
MyScale 提供了一个 SQL 工作区,您可以在其中编辑、运行、保存 SQL 工作表,并查看查询结果。
# 打开 SQL 工作区
SQL 工作区 可以通过侧边导航栏访问。
# 使用 SQL 工作区
SQL 工作区分为三个主要区域:
- 左侧是 “对象查看器”,您可以浏览数据库的表和视图。在查看任何对象之前,需要先启动相应的集群。您可以选择在查看器中选择一个对象(如表及其列和数据类型)以查看其特定属性。
- 右上方是 “编辑器”,您可以在其中编写 SQL 语句、保存 SQL 工作表和运行 SQL 语句。
- 右下方是 “结果”,您可以在其中查看当前 SQL 语句的运行状态和结果。
# 工作区中的集群操作
“对象查看器” 提供了管理用于执行 SQL 语句的集群的选项。您可以从查看器的顶部切换集群、启动集群或停止集群。要选择特定的集群来运行 SQL 语句,只需单击集群选择列表并选择所需的选项。
# 编辑器
编辑器 可以帮助您组织 SQL 语句。每个语句必须以分号(;)结尾,一个工作表支持多个查询语句。
# 语句自动补全
在编辑器中输入 SQL 语句时,MyScale 会提供关键字和对象名称的建议。按下 Tab/Enter
键可以快速将建议列表中的第一个单词添加到语句中,或者您可以使用箭头键选择列表中的其他项,然后按下 Tab/Enter
键。
# 格式化功能
您可以点击“格式化”按钮或使用快捷键 opt/alt+shift+f
来格式化整个编辑器。
我们建议在输入较长的内容(如高维向量数据)时使用格式化功能,以在编辑器中呈现更清晰的界面。这样可以方便您验证和检查 SQL 语句。
格式化之前:
格式化之后:
# 自动换行模式
如果您希望方便地查看高维向量数据的完整概览,可以尝试使用快捷键 opt/alt+z
切换自动换行模式的开启或关闭。
自动换行模式关闭:
自动换行模式开启:
# 键盘快捷键
您可以点击键盘图标查看可用的键盘快捷键,或者您可以参考键盘快捷键页面上的完整列表。
# 运行工作表
要执行查询,请在 SQL 编辑器中输入 SQL 命令,然后单击“运行”按钮或使用快捷键 cmd/ctrl+enter
。
查询执行选项:默认情况下,当您使用“运行”按钮时,将执行所选的命令。如果您没有选择任何命令,MyScale 将自动分隔 SQL 语句,并在光标所在位置运行语句。
同时,如果您想按顺序运行 SQL 编辑器中的所有命令,可以单击运行按钮右侧的下拉按钮,然后选择“运行全部”(或使用快捷键 cmd/ctrl+shift+enter
)。
# 查看结果
在 SQL 语句运行时,其状态将显示在 结果 部分。
# 执行状态
SQL 查询有五种执行状态,分别是 执行中
、成功
、后台
、已取消
和 错误
。
每个查询都有一个最大执行时间限制,默认为 30 秒。如果查询超过此时间限制,可能会发生以下两种情况之一:
- 如果查询是
SELECT
语句,它将被取消并抛出错误。 - 对于其他所有语句,它们将转换为
后台
状态。如果您想监视此查询的执行状态,请使用以下语句。
SELECT *
FROM clusterAllReplicas('{cluster}', system.query_log)
WHERE query_id='YOUR_QUERY_ID'
ORDER BY event_time_microseconds DESC
LIMIT 1;
YOUR_QUERY_ID
可以在 执行统计信息 中找到。
# 查询结果
查询完成后,结果部分将显示最新 SQL 运行的结果和查询执行的统计信息。
结果表中最多有 10,000 行。如果查询返回的结果超过 10,000 行,请参考 导出结果到本地磁盘 部分下载结果以获取所有结果。
您可以点击单元格以查看该单元格的具体内容。
# 执行统计信息
您可以通过打开 统计信息 选项卡查看查询执行统计信息。
术语 | 定义 |
---|---|
查询 ID | 当前操作的 ID。 |
用户 | 创建此操作的用户。 |
持续时间 | 此操作的总持续时间分为两个阶段:传输和执行。 |
行数 | 查询结果返回的行数。 |
结束时间 | 操作结束的时间。 |
术语 | 定义 |
---|---|
传输 | 传输指的是用于网络传输等非执行任务的时间。 |
执行 | 执行指的是数据库执行查询所花费的时间。 |
# 导出结果到本地磁盘
运行查询后,您可以选择将结果导出到本地硬盘。
- 单击如下图所示的下载图标:
- 您可以选择下载为 .csv、.json 或 .tsv 格式。MyScale 将根据您的选择将文件下载到浏览器的默认下载位置。
# 保存工作表
每当执行 SQL 语句时,MyScale 会自动保存当前工作表的内容。您可以随时从任何设备登录以查看此工作表的内容。