You need to enable JavaScript to run this app.
导航

MySQL 联合查询分析

最近更新时间2024.01.22 17:33:42

首次发布时间2023.11.16 11:44:06

在日志服务中创建 MySQL 数据源关联后,可以在检索分析时将日志主题和 MySQL 数据库进行联合查询分析,同时支持将查询分析结果插入到 MySQL 数据库中。本文档介绍联合查询分析的操作步骤与示例。

前提条件

已创建 MySQL 数据源关联,且数据源连接状态成功。创建数据源关联并查看连接状态的方式请参考关联 MySQL 数据源

注意事项

类别

说明

MySQL 表大小

建议联合查询时关联的 MySQL 表内数据量小于 20MiB,数据量较大时,如果日志服务对数据库发起了过于复杂的 SQL 查询,可能会影响数据库稳定性。

检索分析语句

  • 使用联合查询时,应指定 SQL 分析语句,格式为查询语句 | 分析语句。其中,查询语句和查询时间范围对外部数据源不生效。
  • 检索分析语句中需要指定数据源名称,请勿直接使用 MySQL 表名称。后端服务会自动在检索时将数据源名称替换为对应的 MySQL 数据库名称和表名称。
  • 检索分析语句中,日志主题名称必须在 JOIN 关键字之前,数据源名称应在 JOIN 关键字之后。

操作步骤

  1. 登录日志服务控制台

  2. 在左侧导航栏中选择日志服务 > 日志项目管理

  3. 单击指定日志项目名称。

  4. 在左侧导航栏中选择检索分析

  5. 日志主题一栏中选择日志主题名称。

  6. 指定时间范围。
    时间范围默认为 5 分钟,您也可以自定义检索的时间范围。该时间范围仅对日志主题中的数据有效。

  7. 输入检索分析条件,执行联合查询分析。
    在联合查询分析时,应使用 JOIN 子句关联日志主题和指定外部数据源,支持的 JOIN 语法请参考 JOIN 子句

    说明

    检索分析时应注意 MySQL 表大小和 SQL 语法的相关限制。详细说明请参考注意事项

    例如已创建外部 MySQL 数据源 tls_join_meta_store,通过 JOIN 语法进行日志主题和 MySQL 数据库联合分析。联合分析时,根据当前日志主题的 userid 字段和指定数据源的 uid 字段进行数据源关联,分析不同年龄段的活跃度。联合查询分析示例如下。

    * | 
    select 
      count(*) as pv 
    from log l join tls_join_meta_store u on l.userid = u.uid 
    group by u.age 
    order by pv desc
    
  8. 输入检索分析语句,将查询结果保存到 MySQL 数据库中。
    通过 INSERT 语法将以上步骤中的查询结果保存到数据库中某个已创建的表中, SQL 语句示例如下。执行成功后,您可以在 MySQL 数据库中查看已保存的查询分析结果。

    * | insert into tls_report_external_store select __time__- __time__ % 300 as min, count(1) as pv group by min