目前用的 Mysql ,表内有 40 个字段,600 万左右的数据。
要求可以随意组合 group by 查询字段。
SELECT COUNT(*) AS 数量,A,B,C,D,E,F,... FROM test_table GROUP BY A,B,C,D,E,F,...;
1
mubai 2023-11-09 19:53:10 +08:00
1 、用搜索引擎,比如 ElasticSearch ;
2 、用 Bitmap 的思路弄创建个索引表,或者加个字段用于索引。 |
2
zhongjun96 OP @mubai #1 不搜索值,只聚合 key ,不太适用 ES ,因为 group by 的 key 可以随意组合,也不好加字段单独索引。
|
3
spediacn 2023-11-10 09:02:21 +08:00 via iPhone
要么时间换空间,要么空间换时间,只是按分组统计,楼主不妨换个思路,原有结构我觉得不适合这么查,连表结构都打散了重新组合吧
|
4
zhuzhibin 2023-11-10 09:44:51 +08:00 via iPhone 1
@zhongjun96 不太理解为啥不能用 es 呢?你的目的不就是随意 grouy by 任意的且多个字段么? composite 不能解决?
|
5
zhongjun96 OP @zhuzhibin #4 学艺不精,第一次知道 composite 。看了下,好像可以,感谢🙏
|
6
zhuzhibin 2023-11-10 17:38:38 +08:00
@zhongjun96 不客气哈 0.0
|