05 让 AI 优化一条查询
把模块 04 里那条全表扫描的查询交给 ClickHouse Assistant,看它诊断出缺失的 sort key,然后给出跳数索引和投影两种方案,并附上可直接运行的 SQL。
ClickHouse Cloud 在 SQL Console 里内置了一个副驾驶,也就是 ClickHouse Assistant。 它懂 ClickHouse 的函数和最佳实践,而不只是通用 SQL。
![]()
打开 SQL Console,点击右上角的星光图标打开 Assistant。你聊天的同时,查询仍然留在编辑器里。
-
在 SQL Console 里打开 Assistant。
-
粘贴 模块 4.7 里那条未优化的查询:
SELECT count() FROM forex WHERE bid > 1.5; -
用自然语言问它:"这条查询为什么要扫描整张表,我怎样才能让它更快?"
-
读它的回答,它会诊断出查询为什么会扫描全部数据(
bid不在 sort key 里), 然后给出具体的 ClickHouse 解决方案并附上可直接运行的 SQL:在bid上建一个轻量的 minmax 跳数索引,或者建一个按bid预排序保存一份数据副本的投影(projection)。
注意看这些点
Assistant 会解释 bid 不在 sort key 里,所以什么都裁剪不掉,然后给出
ClickHouse 专有的解决方案,每个都带可复制粘贴的 ALTER TABLE SQL 和一个 "Open in editor"
按钮。这不是泛泛而谈的建议:它用的正是 ClickHouse 提供的那些具体能力。
