You need to enable JavaScript to run this app.
文档中心
日志服务

日志服务

复制全文
下载 pdf
检索分析常见问题
如何提高检索性能
复制全文
下载 pdf
如何提高检索性能
本文介绍提高日志检索分析速度的方法。​
增加 Shard 数量​
增加 Shard 数量可以增强日志服务的读写能力,但只对新写入的数据生效。Shard 表示计算资源,Shard 越多,计算越快。您可以通过分裂 Shard 的方式,适当增加 Shard 数量。具体操作,请参考分裂分区。​
说明​
增加 Shard 数量会产生更多费用,请按需增加。关于 Shard 的计费说明,请参考按功能计费的计费项。​
缩小检索的时间范围或数据量​
  • 检索的时间范围越大,检索速度越慢,建议适当地缩小检索的时间范围来提升检索速度。​
  • 检索的数据量越大,检索速度越慢,建议适当地减少检索的数据量来提升检索速度。​
重复执行检索操作​
当检索结果不精确时,可以尝试重复执行多次检索操作。每次检索时,日志服务底层加速机制会基于现有结果进行检索,因此多次重复检索可以提升检索结果的精确性。更多信息,请参考如何处理查询结果不精确。​
优化检索语句​
检索时间较长的语句具备如下特点。​
  • 检索条件较多。​
  • 检索扫描的数据量较大。​
您可以通过如下方法优化检索分析语句。​
  • 去除不必要的检索条件​
  • 例如使用多条件检索时,如果满足条件 A 的日志一定满足条件 B,则条件 B 这个检索条件可以去掉。示例如下:​
  • 检索语句(速度快)​
  • ​
    log_msg: "INFO| write logs sucessful"​
    ​
  • 检索语句(速度慢)​
  • ​
    log_msg: "INFO| write logs sucessful" AND log_level:INFO​
    ​
  • 合并相同 Key 范围检索条件。​
  • 使用范围检索时,如果需要限制检索的起止范围,使用双范围操作符替换单范围操作符。示例如下:​
  • 检索语句(速度快)​
  • ​
    log_status: [1000 TO 2000}​
    ​
  • 检索语句(速度慢)​
  • ​
    log_status: >= 1000 AND log_status: < 2000​
    ​
  • 将命中率高的筛选条件放到 SQL 语句中。​
  • 在检索和分析结合使用的场景,可将命中率高的条件置于 SQL 部分,以此提升检索速率。例如下述示例中,满足 log_level:INFO 的日志数与总日志数的比例值超过 50%,则将此条件放到 SQL 语句进行筛选,速度更快。​
  • 检索分析语句(速度快)​
  • ​
    * | select count(*) as cnt where log_level = 'INFO'​
    ​
  • 检索分析语句(速度慢)​
  • ​
    log_level:INFO | select count(*) as cnt​
    ​
  • 在 SQL 分析语句中指定需要获取的列,避免全列读取。​
  • 如果需要获取所有列,请使用检索语法。示例如下:​
  • 检索分析语句(速度快)​
  • ​
    * | select a, b, c​
    ​
  • 检索分析语句(速度慢)​
  • ​
    * | select *​
    ​
​
最近更新时间:2026.06.18 18:27:42
这个页面对您有帮助吗?
有用
有用
无用
无用