在我的工作中,事实表存储在ClickHouse中,维度表存储在MySQL数据库中,因此使用MySQL数据库引擎来连接ClickHouse和MySQL数据库。从ClickHouse SQL运行日志中,我可以发现ClickHouse将从MySQL数据库中获取所需的数据并进行聚合。我的问题是,ClickHouse从MySQL数据库获取数据的模式是什么?正确的ClickHouse是获取查询中所需的所有数据,然后进行聚合,还是同时执行这两个操作?如何提高在此场景中使用的SQL性能?有没有什么练习技巧?
发布于 2020-11-28 02:57:24
外部字典加载数据(从Mysql,即)并将此数据缓存到CH服务器内存中。外部字典(dictGet)在无限次数上比从引擎Mysql中选择要快。
https://clickhouse.tech/docs/en/sql-reference/statements/create/dictionary/
https://stackoverflow.com/questions/65037592
复制相似问题