|
1 | 1 | --- |
2 | | -title: 在 Databend 中查询数据 |
| 2 | +title: 统一工作负载 |
3 | 3 | --- |
4 | 4 |
|
5 | | -Databend 支持标准 SQL,并带有 ANSI SQL:2003 分析扩展。本指南涵盖从基础到高级的核心查询技术,按学习路径组织,便于高效掌握。 |
| 5 | +Databend 现已作为统一引擎,支持 SQL 分析(SQL Analytics)、多模态搜索、向量相似度、地理空间分析和持续 ETL。本系列教程以 **EverDrive Smart Vision** 场景为例(会话 ID 如 `SES-20240801-SEA01`,帧 ID 如 `FRAME-0001`),展示如何让同一数据集流经所有工作负载,而无需在系统间复制数据。 |
6 | 6 |
|
7 | | -## 学习路径 |
| 7 | +| 指南 | 涵盖内容 | |
| 8 | +|-------|----------------| |
| 9 | +| [SQL 分析](./00-sql-analytics.md) | 构建共享表、切分会话、添加窗口/聚合加速 | |
| 10 | +| [JSON 与搜索](./01-json-search.md) | 存储检测负载并 `QUERY` 风险场景 | |
| 11 | +| [向量搜索](./02-vector-db.md) | 保存帧嵌入并查找语义邻居 | |
| 12 | +| [地理分析](./03-geo-analytics.md) | 使用 `HAVERSINE`、多边形、H3 映射事件 | |
| 13 | +| [湖仓 ETL](./04-lakehouse-etl.md) | 暂存文件、`COPY INTO` 表、可选流/任务 | |
8 | 14 |
|
9 | | -**📚 SQL 新手?** 从[基础查询](./00-basics/index.md)开始 |
10 | | -**🔗 需要连接数据?** 前往[组合数据](./01-combining-data/index.md) |
11 | | -**⚡ 需要自定义逻辑?** 查看[高级功能](./02-advanced/index.md) |
12 | | -**🚀 遇到性能问题?** 访问[查询优化(Query Optimization)](./03-optimization/index.md) |
13 | | - |
14 | | ---- |
15 | | - |
16 | | -## 📚 [基础查询](./00-basics/index.md) |
17 | | - |
18 | | -掌握数据选择与聚合的基本 SQL 操作。 |
19 | | - |
20 | | -### [筛选与选择](./00-basics/filtering-selection.md) |
21 | | -```sql |
22 | | --- 选择与筛选数据 |
23 | | -SELECT name, salary FROM employees |
24 | | -WHERE department = 'Engineering' |
25 | | -ORDER BY salary DESC; |
26 | | -``` |
27 | | - |
28 | | -### [聚合数据](./00-basics/aggregating-data.md) |
29 | | -```sql |
30 | | --- 分组并汇总数据 |
31 | | -SELECT department, |
32 | | - COUNT(*) as emp_count, |
33 | | - AVG(salary) as avg_salary |
34 | | -FROM employees |
35 | | -GROUP BY department; |
36 | | -``` |
37 | | - |
38 | | -### [高级分组](./00-basics/groupby/index.md) |
39 | | -使用 CUBE、ROLLUP 和 GROUPING SETS 进行多维分析 |
40 | | - |
41 | | ---- |
42 | | - |
43 | | -## 🔗 [组合数据](./01-combining-data/index.md) |
44 | | - |
45 | | -通过 JOIN 和 CTE 连接多源数据。 |
46 | | - |
47 | | -### [JOIN](./01-combining-data/joins.md) |
48 | | -```sql |
49 | | --- 关联相关表 |
50 | | -SELECT e.name, d.department_name |
51 | | -FROM employees e |
52 | | -JOIN departments d ON e.department_id = d.id; |
53 | | -``` |
54 | | - |
55 | | -### [公用表表达式(CTE)](./01-combining-data/cte.md) |
56 | | -```sql |
57 | | --- 构建复杂查询 |
58 | | -WITH high_earners AS ( |
59 | | - SELECT * FROM employees WHERE salary > 75000 |
60 | | -) |
61 | | -SELECT department, COUNT(*) as count |
62 | | -FROM high_earners GROUP BY department; |
63 | | -``` |
64 | | - |
65 | | ---- |
66 | | - |
67 | | -## ⚡ [高级功能](./02-advanced/index.md) |
68 | | - |
69 | | -通过自定义函数与外部集成扩展能力。 |
70 | | - |
71 | | -### [用户自定义函数(User-Defined Functions)](./02-advanced/udf.md) |
72 | | -```sql |
73 | | --- 创建可复用函数 |
74 | | -CREATE FUNCTION calculate_bonus(salary FLOAT, rating FLOAT) |
75 | | -RETURNS FLOAT AS $$ salary * rating * 0.1 $$; |
76 | | -``` |
77 | | - |
78 | | -### 更多高级功能 |
79 | | -- [外部函数(External Functions)](./02-advanced/external-function.md) - 云端机器学习集成 |
80 | | -- [存储过程(Stored Procedures)](./02-advanced/stored-procedure.md) - 多步操作 |
81 | | -- [序列(Sequences)](./02-advanced/sequences.md) - 唯一 ID 生成 |
82 | | - |
83 | | ---- |
84 | | - |
85 | | -## 🚀 [查询优化(Query Optimization)](./03-optimization/index.md) |
86 | | - |
87 | | -利用分析工具诊断并提升查询性能。 |
88 | | - |
89 | | -### [查询画像(Query Profile)](./03-optimization/query-profile.md) |
90 | | -可视化执行计划分析(Databend Cloud:监控 → SQL 历史) |
91 | | - |
92 | | -### [性能分析](./03-optimization/query-hash.md) |
93 | | -```sql |
94 | | --- 分析查询执行 |
95 | | -EXPLAIN SELECT * FROM orders o |
96 | | -JOIN customers c ON o.customer_id = c.id |
97 | | -WHERE o.order_date >= '2023-01-01'; |
98 | | -``` |
99 | | - |
100 | | ---- |
101 | | - |
102 | | -## 快速参考 |
103 | | - |
104 | | -### 最常用模式 |
105 | | -```sql |
106 | | --- Top N 查询 |
107 | | -SELECT * FROM employees ORDER BY salary DESC LIMIT 10; |
108 | | - |
109 | | --- 筛选并聚合 |
110 | | -SELECT department, AVG(salary) |
111 | | -FROM employees |
112 | | -WHERE hire_date >= '2023-01-01' |
113 | | -GROUP BY department |
114 | | -HAVING AVG(salary) > 70000; |
115 | | - |
116 | | --- 使用 CTE 进行连接 |
117 | | -WITH recent_orders AS ( |
118 | | - SELECT * FROM orders WHERE order_date >= '2023-01-01' |
119 | | -) |
120 | | -SELECT c.name, COUNT(*) as order_count |
121 | | -FROM customers c |
122 | | -JOIN recent_orders o ON c.id = o.customer_id |
123 | | -GROUP BY c.name; |
124 | | -``` |
| 15 | +按顺序学习这些教程,了解 Databend 的单一优化器如何在同一车队数据上驱动分析、搜索、向量、地理和加载流水线。 |
0 commit comments