首页 > 解决方案 > Presto查询(优化):检查数组是否包含某个元素并计算它

问题描述

我有以下 PRESTO 查询来计算my_array列中的元素

SELECT
    COUNT(*) AS total_count,
    COUNT_IF(any_match(my_array, x -> x LIKE '%dog%')) AS dog_count,
    COUNT_IF(any_match(my_array, x -> x LIKE '%cat%')) AS cat_count
FROM my_table

my_table只有5000行,每行my_array不到10个元素。但是,查询非常慢。我想知道有没有办法优化上述查询?谢谢!

标签: sqlpresto

解决方案


推荐阅读