sql - 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个元素。但是,查询非常慢。我想知道有没有办法优化上述查询?谢谢!
解决方案
推荐阅读
- python - 从 pd DataFrame 的所有单元格中获取所有值的列表
- github - 如果一个作业失败,则使 Github Actions Workflow 失败(同时保留在它之后调用的其他作业)
- ag-grid - Ag-Grid:显示选项取决于另一个字段的选择
- html - CSS 转换后悬停时 CSS 透明
- excel - 动态内部收益率计算。有没有办法在添加终端金额后添加零?
- algorithm - 嵌套在 for 循环中的 while 循环的 Big-O 是 O(n),为什么?
- .net - 从 MSSQL 到 Web 前端的实时个别更新
- javascript - 将 JSON 转换为字符串用于 redis 键值存储是否安全?
- magento - 如何在我们的自定义模块 Magento 2 中覆盖 RouterList 类型文件?
- javascript - 需要帮助在 Javascript 中创建 for 循环数组