查询
SQL 编辑器
Studio 提供一款简单易用的可视化 SQL 编辑器,具有 SQL 自动补全、查询结果展示、查询记录、会话记录、Profile 可视化分析等能力。
数据目录
你可以看到数据库、表、视图等信息,鼠标移动到库、表、视图等对象上,会显示相应的操作按钮,你可以点击这些按钮进行相应的操作。也会显示对象的详细信息,如表的创建时间、行数、注释等。
会话记录
会话记录是你在 SQL 编辑器中打开的 Tab 的历史记录,你可以点击记录中的 SQL 语句,将其复制到 SQL 编辑器中执行。
查询历史
查询历史是你在 SQL 编辑器中执行的 SQL 语句的历史记录,你可以点击记录中的 SQL 语句,查看该语句的 Profile 信息。非查询语句没有 Profile,查询失败的语句也没有 Profile。
查询 Profile
在 Studio 发起的查询默认都开启了查询 Profile,这可能对单个查询的性能有轻微影响,点击“查询语句”可以进入执行计划页面。
下载按钮可以下载 Profile 信息,包括纯 TEXT
格式的 Profile 信息和可视化的 Profile 图片。
导入 Profile 按钮可以导入 TEXT
格式的 Profile 信息,导入后可以可视化查看 Profile。这有助你可视化分析从其它客户端的发起的查询。
注意: Profile 可视化功能在 SelectDB Cloud 4.0.0 以上版本支持。
查询模版
我们在 Studio 中预先内置了一些测试数据集的样例查询语句,有助于你做一些简单的性能测试。
查询窗口
-
你可以通过选择不同的集群来执行不同的查询任务,一些大的查询可能会影响到集群的性能,你可以选择一个性能较好的集群来执行查询。
-
每个查询窗口都是独立的,你可以在不同的查询窗口中执行不同的 SQL 语句,每个窗口的查询结果都会被缓存,你可以通过切换 Tab 来查看不同的查询结果而不需要再次发起查询。
-
你可以拖动查询窗口的 Tab 来调整查询窗口的顺序。
-
你可以双击查询窗口的 Tab 来修改该窗口的名称。
-
你可以拖动 SQL 编辑器和查询结果面板的分割线来调整它们的大小。
-
SQL 编辑器的执行按钮有两种状态,分别是“执行”和“执行全部”。如果你选中了部分 SQL 语句,执行按钮会变成“执行”,只会执行选中的 SQL 语句;如果没有选中 SQL 语句,执行按钮会变成“执行全部”,会执行所有 SQL 语句。
SQL 输入框
-
你可以使用快捷键
⌘(Command) + C
复制,⌘(Command) + V
粘贴,⌘(Command) + X
剪切。 -
你可以鼠标右键呼出输入框的上下文菜单,点击 Command Palette 打开命令面板,可以查看所有支持的命令。
智能提示
-
默认情况下,智能提示将根据你的输入自动提示关键字、表名、字段名等信息。但你也可以使用
⇧(Shift) + Space
来手动触发智能提示。 -
SQL 编辑器的智能提示将根据你选择的数据库进行提示。比如,当你执行
SELECT * FROM
时,智能提示会提示下拉框选中的__internal_schema
库中的表,当你继续输入WHERE
时,智能提示会提示表的字段。但是对于一些 DDL 语句,智能提示可能会忽略上方选中的数据库,比如当你输入USE
时,智能提示会提示会同时提示给你 catalog 和 当前选中的 catalog__internal_schema
下的 database。
结果面板
在结果面板中,你可以看到 SQL 语句的执行结果,包括查询结果、执行时间、影响行数等信息。
你还可以通过搜索框搜索结果,或者点击表头排序结果。
使用限制
- SQL 编辑器默认最多查询 1000 条数据,如果查询结果超过 1000 条,只会显示前 1000 条数据,你可以点击“查询并下载”按钮下载查看所有数据。
会话管理
会话管理允许管理员用户管理资源的使用,并优先处理关键查询来提高系统性能,并提供有关每个会话的详细信息,例如执行时间、发起查询的用户以及正在使用的资源。
您可以查看所有当前正在运行的SQL查询,并终止任何引起问题或运行时间超出预期的查询。
可以在表格勾选显示正在运行 SQL 查询更多的信息,如扫描大小、扫描行数、返回行数等信息。
点击会话的 Query ID,可以进一步查看该会话的完整信息,包括执行的用户、接收该会话的 FE 节点、该 SQL 的执行计划(Profile)。
查询审计
查询审计用于审计和分析系统中执行的查询历史。它允许您筛选并识别性能较差的查询,以优化数据库性能。
该工具包括分析功能,可以深入了解每个查询的执行计划和资源使用情况。作为一个一站式解决方案,用于跟踪查询性能,发现趋势,并诊断问题。
您可以对历史查询进行筛选,并在“列表选择”中,选取更多的维度以辅助分析。
检索分析
检索分析是 SelectDB Studio 推出的,针对于日志分析场景的查询工具,可以方便的对日志进行检索、查询、统计。
交互式检索分析界面类似于 Kibana Discover 页面,为日志检索进行深度体验优化,分为 4 个区域:
-
顶部的输入区:选择集群、表、时间字段、查询的时间段,主输入框支持关键词检索和 SQL 两种模式。
-
左侧的字段展示和选择区:展示当前表的所有字段,可以选择哪些字段在右边的明细展示区显示,鼠标悬停在字段上会展示这个字段出现最多的 5 个值和出现比例,还可以进一步按值筛选,筛选条件体现在输入区的筛选部分。
-
中间的趋势图展示和交互区:按照一定的时间间隔展示满足条件的日志条数,用户可以在趋势图上框选一段时间来调整查询时间段。
-
下方的明细数据展示和交互区:展示日志明细,可以点开查看某条日志的明细,支持表格和 JSON 两种格式,表格形式还支持交互式创建筛选条件
单击查询 > 检索分析,然后选择表为 internal_schema > audit_log
,Studio 会自动查询表中的字段并选中第一个时间字段。
显示字段比例
鼠标悬停在左侧 state 字段,展示最高频的 state 值 EOF, OK, ERR,同时也可以查看占比。此外,还可以通过点击 加号(+) 或者减号(—)按钮,创建筛选条件,比如通过点击 state 值 为 ERR 右侧 减号(—)按钮,筛选条件中显示 state != ERR 。
通过搜索过滤结果
在主输入框使用搜索和 SQL 两种模式查询关键字。
注意: 只有有倒排索引的表才支持搜索模式。参考:https://doris.apache.org/zh-CN/docs/table-design/index/inverted-index (opens in a new tab)
在搜索框下面,选择搜索,然后在右侧输入 GET ,单击查询,在搜索模式下,搜索包含关键词 GET 的日志,明细中的 GET 会高亮显示,趋势图的数据条数对应变化。
搜索我们使用匹配任意一个关键字的 MATCH_ANY
语句,可以匹配到日志中任意一个字段。
注意:搜索结果的高亮会尽可能匹配所有搜索的关键词,但由于一些特殊字符,并不总是能够和搜索关键字完全匹配。
可以在搜索中使用双引号包裹短语,比如 "GET /api/v1/user"
。将会整匹配整个短语。短语使用了 MATCH_PHRASE
来匹配短语。
如果需要更精确的匹配,可以使用 SQL 模式。
如果你对搜索原理或者对 MATCH_ANY
、MATCH_PHRASE
还有疑问,请参考文档 倒排索引 (opens in a new tab)。
通过 SQL 过滤结果
在搜索框下面,选择 SQL,然后在 SQL 模式下,输入 SQL WHERE 条件 request MATCH 'GET'
,单击查询,实现同样的效果。
查看过滤结果明细
展开日志明细,可选 Table 或 JSON 格式,Table 格式支持交互式创建筛选条件。
查看上下文并进一步检索
点击右侧上下文检索可以查看这条日志前后 10 条日志,上下文检索中还可以继续添加过滤条件。
过滤 VARIANT
数据类型
在 SelectDB Cloud 4.0 中引入一种新的数据类型 VARIANT
,它可以存储半结构化 JSON 数据。VARIANT
类型特别适用于处理复杂的嵌套结构,而这些结构可能随时会发生变化。
Studio 将会识别 VARIANT
数据类型,自动展开该数据类型的层级,并提供了特殊的过滤方式。
我们以 github_events 表为例,展示如何过滤 VARIANT
数据类型的字段。
在过滤条件中,我们可以选择 VARIANT
数据类型的字段,并选择其中的子字段进行过滤。
在 SQL 模式下,我们可以使用 []
来访问 VARIANT
数据类型的字段。
负载管理
负载管理支持 Workload Group 的快速新建、编辑及查看,使用 Workload Group 可以管理集群中查询和导入负载所使用的 CPU/内存/IO 资源用量,控制集群中查询的最大并发。
注意:SelectDB Cloud 4.0.0 及以上版本支持负载管理。
你可以在 Workload Group 列表上方的表格筛选器中查看更多项。
在新建 Workload Group 界面中,您可以点击参数的问号,会显示对于该参数的说明。