分析性业务,100 个 SQL 产生 400 个标签,但是其实 100 个 SQL 使用的只有 20 张表,并且 WHERE 后的查询条件大多一致,根据 uid ,并且这 400 个标签在高 QPS 的接口中,所以为了减少 DB 压力,现有执行计划是先执行 20 个表的 SELECT ... WHERE ,并且把数据存储在内存中,在内存中使用 pandas 进行之后的 join 、aggregate 等操作。现在的问题是把 SQL 转 pandas 的操作非常痛苦,并且很容易出错。 所以希望能在内存中通过 SQL 直接做计算逻辑,golang 或者 rust 有没有类似可以在内存中通过原生 SQL 做计算的库?
- 我对 mysql 比较小白,想问一个问题,mysql 会对短时间内类似的查询做缓存吗?也就是说我以上的方案是否真正节省了成本?