Skip to content

Commit 2a93970

Browse files
๐Ÿ’ฌGenerate LLM translations (#2248)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 54e3c31 commit 2a93970

File tree

7 files changed

+322
-313
lines changed

7 files changed

+322
-313
lines changed
Lines changed: 87 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,158 +1,168 @@
11
---
2-
title: ้›†็พค้”ฎ
2+
title: Cluster Key
33
---
44

5-
# ้›†็พค้”ฎ๏ผš่‡ชๅŠจๆ•ฐๆฎ็ป„็ป‡ๅŠ ้€ŸๆŸฅ่ฏข
5+
# ่š็ฐ‡้”ฎ (Cluster Key): ่‡ชๅŠจๆ•ฐๆฎ็ป„็ป‡ไปฅๅŠ ้€ŸๆŸฅ่ฏข
66

7-
้›†็พค้”ฎ้€š่ฟ‡่‡ชๅŠจๆ•ฐๆฎ็ป„็ป‡ๆœบๅˆถ๏ผŒๆ˜พ่‘—ๆๅ‡ๅคง่กจๆŸฅ่ฏขๆ€ง่ƒฝใ€‚Databend ๅœจๅŽๅฐๆ— ็ผๆŒ็ปญ็ฎก็†ๆ‰€ๆœ‰้›†็พคๆ“ไฝœโ€”โ€”ๆ‚จๅช้œ€ๅฎšไน‰้›†็พค้”ฎ๏ผŒๅ…ถไฝ™ๅทฅไฝœ็”ฑ Databend ่‡ชๅŠจๅฎŒๆˆใ€‚
7+
่š็ฐ‡้”ฎ (cluster key) ๆไพ›่‡ชๅŠจๆ•ฐๆฎ็ป„็ป‡ๅŠŸ่ƒฝ๏ผŒๅฏๆ˜พ่‘—ๆ้ซ˜ๅคงๅž‹่กจ็š„ๆŸฅ่ฏขๆ€ง่ƒฝใ€‚Databend ๅœจๅŽๅฐๆ— ็ผไธ”ๆŒ็ปญๅœฐ็ฎก็†ๆ‰€ๆœ‰่š็ฐ‡ๆ“ไฝœโ€”โ€”ๆ‚จๅช้œ€ๅฎšไน‰่š็ฐ‡้”ฎ๏ผŒDatabend ๅฐฑไผšๅค„็†ๅ…ถไฝ™็š„ๅทฅไฝœใ€‚
88

9-
## ่งฃๅ†ณ็š„ๆ ธๅฟƒ้—ฎ้ข˜
9+
## ่งฃๅ†ณไบ†ไป€ไนˆ้—ฎ้ข˜๏ผŸ
1010

11-
ๆœช็ปๅˆ็†็ป„็ป‡็š„ๅคง่กจไผšๅผ•ๅ‘ไธฅ้‡็š„ๆ€ง่ƒฝๅ’Œ็ปดๆŠคๆŒ‘ๆˆ˜๏ผš
11+
ๆœช็ป้€‚ๅฝ“็ป„็ป‡็š„ๅคงๅž‹่กจไผšๅธฆๆฅๆ˜พ่‘—็š„ๆ€ง่ƒฝๅ’Œ็ปดๆŠคๆŒ‘ๆˆ˜๏ผš
1212

13-
| ้—ฎ้ข˜ | ๅฝฑๅ“ | ่‡ชๅŠจ้›†็พค่งฃๅ†ณๆ–นๆกˆ |
13+
| ้—ฎ้ข˜ | ๅฝฑๅ“ | ่‡ชๅŠจ่š็ฐ‡่งฃๅ†ณๆ–นๆกˆ |
1414
|---------|--------|------------------------------|
15-
| **ๅ…จ่กจๆ‰ซๆ** | ๅณไฝฟๆŸฅ่ฏข่ฟ‡ๆปคๆ•ฐๆฎไป้œ€่ฏปๅ–ๆ•ด่กจ | ่‡ชๅŠจ็ป„็ป‡ๆ•ฐๆฎ๏ผŒไป…่ฏปๅ–็›ธๅ…ณๆ•ฐๆฎๅ— |
16-
| **้šๆœบๆ•ฐๆฎ่ฎฟ้—ฎ** | ็›ธไผผๆ•ฐๆฎๅˆ†ๆ•ฃๅญ˜ๅ‚จ | ๆŒ็ปญๅฐ†ๅ…ณ่”ๆ•ฐๆฎๅˆ†็ป„ๅญ˜ๅ‚จ |
17-
| **่ฟ‡ๆปคๆŸฅ่ฏข็ผ“ๆ…ข** | WHERE ๅญๅฅๆ‰ซๆๆ— ๅ…ณ่กŒ | ่‡ชๅŠจ่ทณ่ฟ‡ไธ็›ธๅ…ณๆ•ฐๆฎๅ— |
18-
| **้ซ˜I/Oๆˆๆœฌ** | ่ฏปๅ–ๅคง้‡ๆ— ็”จๆ•ฐๆฎ | ่‡ชๅŠจๆœ€ๅฐๅŒ–ๆ•ฐๆฎไผ ่พ“้‡ |
19-
| **ๆ‰‹ๅŠจ็ปดๆŠค** | ้œ€็›‘ๆŽงๅนถๆ‰‹ๅŠจ้‡็ป„่กจ | ้›ถ็ปดๆŠคโ€”โ€”ๅŽๅฐ่‡ชๅŠจไผ˜ๅŒ– |
20-
| **่ต„ๆบ็ฎก็†** | ้œ€ไธบ้›†็พคๆ“ไฝœๅˆ†้…่ฎก็ฎ—่ต„ๆบ | Databend ่‡ชๅŠจๅค„็†ๆ‰€ๆœ‰้›†็พค่ต„ๆบ |
15+
| **ๅ…จ่กจๆ‰ซๆ** | ๅณไฝฟๆ˜ฏ่ฟ‡ๆปคๅŽ็š„ๆ•ฐๆฎ๏ผŒๆŸฅ่ฏขไนŸไผš่ฏปๅ–ๆ•ดไธช่กจ | ่‡ชๅŠจ็ป„็ป‡ๆ•ฐๆฎ๏ผŒๅช่ฏปๅ–็›ธๅ…ณๆ•ฐๆฎๅ— |
16+
| **้šๆœบๆ•ฐๆฎ่ฎฟ้—ฎ** | ็›ธไผผๆ•ฐๆฎๅˆ†ๆ•ฃๅœจๅญ˜ๅ‚จไธญ | ๆŒ็ปญๅฐ†็›ธๅ…ณๆ•ฐๆฎๅˆ†็ป„ๅœจไธ€่ตท |
17+
| **ๆ…ข้€Ÿ่ฟ‡ๆปคๆŸฅ่ฏข** | WHERE ๅญๅฅๆ‰ซๆไธๅฟ…่ฆ็š„่กŒ | ่‡ชๅŠจๅฎŒๅ…จ่ทณ่ฟ‡ไธ็›ธๅ…ณ็š„ๅ— |
18+
| **้ซ˜ I/O ๆˆๆœฌ** | ่ฏปๅ–ๅคง้‡ๆœชไฝฟ็”จ็š„ๆ—งๆ•ฐๆฎ | ่‡ชๅŠจๆœ€ๅฐๅŒ–ๆ•ฐๆฎไผ ่พ“ |
19+
| **ๆ‰‹ๅŠจ็ปดๆŠค** | ้œ€่ฆ็›‘ๆŽงๅ’Œๆ‰‹ๅŠจ้‡ๆ–ฐ่š็ฐ‡่กจ | ้›ถ็ปดๆŠคโ€”โ€”่‡ชๅŠจๅŽๅฐไผ˜ๅŒ– |
20+
| **่ต„ๆบ็ฎก็†** | ๅฟ…้กปไธบ่š็ฐ‡ๆ“ไฝœๅˆ†้…่ฎก็ฎ—่ต„ๆบ | Databend ่‡ชๅŠจๅค„็†ๆ‰€ๆœ‰่š็ฐ‡่ต„ๆบ |
2121

22-
**็คบไพ‹**๏ผš็”ตๅ•†ๅนณๅฐ็™พไธ‡็บงๅ•†ๅ“่กจใ€‚ๆœช้›†็พคๆ—ถ๏ผŒๆŸฅ่ฏข `WHERE category IN ('Electronics', 'Computers')` ๅฟ…้กปๆ‰ซๆๆ‰€ๆœ‰ๅ•†ๅ“็ฑปๅˆซใ€‚้€š่ฟ‡ๆŒ‰็ฑปๅˆซ่‡ชๅŠจ้›†็พคๅŽ๏ผŒDatabend ๆŒ็ปญๅฐ†็”ตๅญไบงๅ“ๅ’Œ็”ต่„‘็ฑปๅ•†ๅ“้›†ไธญๅญ˜ๅ‚จ๏ผŒไป…้œ€ๆ‰ซๆ2ไธชๆ•ฐๆฎๅ—่€Œ้ž1000+ไธชใ€‚
22+
**็คบไพ‹**: ไธ€ไธชๅŒ…ๅซๆ•ฐ็™พไธ‡ๅ•†ๅ“็š„็”ตๅ•†่กจใ€‚ๅฆ‚ๆžœๆฒกๆœ‰่š็ฐ‡๏ผŒๆŸฅ่ฏข `WHERE category IN ('Electronics', 'Computers')` ๅฟ…้กปๆ‰ซๆๆ‰€ๆœ‰ๅ•†ๅ“็ฑปๅˆซใ€‚้€š่ฟ‡ๆŒ‰็ฑปๅˆซ่‡ชๅŠจ่š็ฐ‡๏ผŒDatabend ไผšๆŒ็ปญๅฐ†็”ตๅญไบงๅ“ๅ’Œ็”ต่„‘ไบงๅ“ๅˆ†็ป„ๅœจไธ€่ตท๏ผŒๅชๆ‰ซๆ 2 ไธชๆ•ฐๆฎๅ—่€Œไธๆ˜ฏ 1000 ๅคšไธชๆ•ฐๆฎๅ—ใ€‚
2323

24-
## ่‡ชๅŠจ้›†็พค็š„ไผ˜ๅŠฟ
24+
## ่‡ชๅŠจ่š็ฐ‡็š„ไผ˜ๅŠฟ
2525

26-
**็ปดๆŠคไพฟๆทๆ€ง**๏ผšDatabend ๆถˆ้™คไบ†ไปฅไธ‹้œ€ๆฑ‚๏ผš
27-
- ็›‘ๆŽง้›†็พค่กจ็Šถๆ€
28-
- ๆ‰‹ๅŠจ่งฆๅ‘้‡็ป„ๆ“ไฝœ
29-
- ๆŒ‡ๅฎš้›†็พค่ฎก็ฎ—่ต„ๆบ
26+
**ๆ˜“ไบŽ็ปดๆŠค**: Databend ๆถˆ้™คไบ†ไปฅไธ‹้œ€ๆฑ‚๏ผš
27+
- ็›‘ๆŽง่š็ฐ‡่กจ็š„็Šถๆ€
28+
- ๆ‰‹ๅŠจ่งฆๅ‘้‡ๆ–ฐ่š็ฐ‡ๆ“ไฝœ
29+
- ไธบ่š็ฐ‡ๆŒ‡ๅฎš่ฎก็ฎ—่ต„ๆบ
3030
- ๅฎ‰ๆŽ’็ปดๆŠค็ช—ๅฃ
3131

32-
**ๅทฅไฝœๅŽŸ็†**๏ผšๅฎšไน‰้›†็พค้”ฎๅŽ๏ผŒDatabend ่‡ชๅŠจๆ‰ง่กŒ๏ผš
33-
- ็›‘ๆŽงDMLๆ“ไฝœๅผ•่ตท็š„่กจๅ˜ๆ›ด
34-
- ่ฏ„ไผฐไฝ•ๆ—ถ้œ€่ฆ้‡็ป„่กจ
35-
- ๆ‰ง่กŒๅŽๅฐ้›†็พคไผ˜ๅŒ–
36-
- ๆŒ็ปญไฟๆŒๆœ€ไผ˜ๆ•ฐๆฎ็ป„็ป‡
32+
**ๅทฅไฝœๅŽŸ็†**: ๅฎšไน‰่š็ฐ‡้”ฎๅŽ๏ผŒDatabend ไผš่‡ชๅŠจ๏ผš
33+
- ็›‘ๆŽง DML ๆ“ไฝœๅผ•่ตท็š„่กจๆ›ดๆ”น
34+
- ่ฏ„ไผฐไฝ•ๆ—ถ้œ€่ฆ้‡ๆ–ฐ่š็ฐ‡่กจ
35+
- ๆ‰ง่กŒๅŽๅฐ่š็ฐ‡ไผ˜ๅŒ–
36+
- ๆŒ็ปญ็ปดๆŠคๆœ€ไฝณๆ•ฐๆฎ็ป„็ป‡
3737

38-
ๆ‚จๅช้œ€ไธบๆฏไธช่กจๅฎšไน‰้›†็พค้”ฎ๏ผˆๅฆ‚้€‚็”จ๏ผ‰๏ผŒDatabend ๅฐ†่‡ชๅŠจๅค„็†ๆ‰€ๆœ‰ๅŽ็ปญ็ปดๆŠคใ€‚
38+
ๆ‚จๆ‰€้œ€่ฆๅš็š„ๅฐฑๆ˜ฏไธบๆฏไธช่กจๅฎšไน‰ไธ€ไธช่š็ฐ‡้”ฎ (ๅฆ‚ๆžœ้€‚็”จ)๏ผŒDatabend ไผš่‡ชๅŠจ็ฎก็†ๆ‰€ๆœ‰ๆœชๆฅ็š„็ปดๆŠคใ€‚
3939

40-
## ๆŠ€ๆœฏๅŽŸ็†
40+
## ๅทฅไฝœๅŽŸ็†
4141

42-
้›†็พค้”ฎๆ นๆฎๆŒ‡ๅฎšๅˆ—ๅฐ†ๆ•ฐๆฎ็ป„็ป‡ๅˆฐๅญ˜ๅ‚จๅ—๏ผˆParquetๆ–‡ไปถ๏ผ‰ไธญ๏ผš
42+
่š็ฐ‡้”ฎๆ นๆฎๆŒ‡ๅฎš็š„ๅˆ—ๅฐ†ๆ•ฐๆฎ็ป„็ป‡ๅˆฐๅญ˜ๅ‚จๅ— (Parquet ๆ–‡ไปถ) ไธญ๏ผš
4343

44-
![้›†็พค้”ฎๅฏ่ง†ๅŒ–](/img/sql/clustered.png)
44+
![Cluster Key Visualization](/img/sql/clustered.png)
4545

46-
1. **ๆ•ฐๆฎ็ป„็ป‡** โ†’ ็›ธไผผๅ€ผๅฝ’ๅ…ฅ็›ธ้‚ปๅญ˜ๅ‚จๅ—
47-
2. **ๅ…ƒๆ•ฐๆฎๅˆ›ๅปบ** โ†’ ๅปบ็ซ‹ๅ—ๅ€ผๆ˜ ๅฐ„ๅฟซ้€Ÿ็ดขๅผ•
48-
3. **ๆŸฅ่ฏขไผ˜ๅŒ–** โ†’ ไป…่ฏปๅ–็›ธๅ…ณๆ•ฐๆฎๅ—
49-
4. **ๆ€ง่ƒฝๆๅ‡** โ†’ ๅ‡ๅฐ‘ๆ‰ซๆ่กŒๆ•ฐ๏ผŒๅŠ ้€Ÿ็ป“ๆžœ่ฟ”ๅ›ž
46+
1. **ๆ•ฐๆฎ็ป„็ป‡** โ†’ ็›ธไผผๅ€ผๅˆ†็ป„ๅˆฐ็›ธ้‚ป็š„ๆ•ฐๆฎๅ—ไธญ
47+
2. **ๅ…ƒๆ•ฐๆฎๅˆ›ๅปบ** โ†’ ๅญ˜ๅ‚จๅ—ๅˆฐๅ€ผ็š„ๆ˜ ๅฐ„๏ผŒ็”จไบŽๅฟซ้€ŸๆŸฅๆ‰พ
48+
3. **ๆŸฅ่ฏขไผ˜ๅŒ–** โ†’ ๆŸฅ่ฏขๆœŸ้—ดๅช่ฏปๅ–็›ธๅ…ณๆ•ฐๆฎๅ—
49+
4. **ๆ€ง่ƒฝๆๅ‡** โ†’ ๆ‰ซๆ็š„่กŒๆ•ฐๆ›ดๅฐ‘๏ผŒ็ป“ๆžœๆ›ดๅฟซ
5050

51-
## ๅฟซ้€Ÿ้…็ฝฎ
51+
## ๅฟซ้€Ÿ่ฎพ็ฝฎ
5252

5353
```sql
54-
-- ๅˆ›ๅปบๅธฆ้›†็พค้”ฎ็š„่กจ
54+
-- Create table with cluster key
55+
-- ๅˆ›ๅปบๅธฆๆœ‰่š็ฐ‡้”ฎ็š„่กจ
5556
CREATE TABLE sales (
5657
order_id INT,
5758
order_date TIMESTAMP,
5859
region VARCHAR,
5960
amount DECIMAL
6061
) CLUSTER BY (region);
6162

62-
-- ไธบๅทฒๆœ‰่กจๆทปๅŠ ้›†็พค้”ฎ
63+
-- Or add cluster key to existing table
64+
-- ๆˆ–่€…ไธบ็Žฐๆœ‰่กจๆทปๅŠ ่š็ฐ‡้”ฎ
6365
ALTER TABLE sales CLUSTER BY (region, order_date);
6466
```
6567

66-
## ้›†็พค้”ฎ้€‰ๅž‹ๆŒ‡ๅ—
68+
## ้€‰ๆ‹ฉๆญฃ็กฎ็š„่š็ฐ‡้”ฎ
6769

68-
ๆ นๆฎ้ซ˜้ข‘ๆŸฅ่ฏขๆกไปถ้€‰ๆ‹ฉๅˆ—๏ผš
70+
ๆ นๆฎๆ‚จๆœ€ๅธธ่ง็š„ๆŸฅ่ฏข่ฟ‡ๆปคๅ™จ้€‰ๆ‹ฉๅˆ—๏ผš
6971

70-
| ๆŸฅ่ฏขๆจกๅผ | ๆŽจ่้›†็พค้”ฎ | ็คบไพ‹ |
72+
| ๆŸฅ่ฏขๆจกๅผ | ๆŽจ่็š„่š็ฐ‡้”ฎ | ็คบไพ‹ |
7173
|---------------|------------------------|---------|
72-
| ๅ•ๅˆ—่ฟ‡ๆปค | ่ฏฅๅˆ— | `CLUSTER BY (region)` |
73-
| ๅคšๅˆ—่ฟ‡ๆปค | ๅคšๅˆ—็ป„ๅˆ | `CLUSTER BY (region, category)` |
74+
| ๆŒ‰ๅ•ๅˆ—่ฟ‡ๆปค | ่ฏฅๅˆ— | `CLUSTER BY (region)` |
75+
| ๆŒ‰ๅคšๅˆ—่ฟ‡ๆปค | ๅคšๅˆ— | `CLUSTER BY (region, category)` |
7476
| ๆ—ฅๆœŸ่Œƒๅ›ดๆŸฅ่ฏข | ๆ—ฅๆœŸ/ๆ—ถ้—ดๆˆณๅˆ— | `CLUSTER BY (order_date)` |
75-
| ้ซ˜ๅŸบๆ•ฐๅˆ— | ไฝฟ็”จ่กจ่พพๅผ้™็ปด | `CLUSTER BY (DATE(created_at))` |
77+
| ้ซ˜ๅŸบๆ•ฐๅˆ— | ไฝฟ็”จ่กจ่พพๅผๅ‡ๅฐ‘ๅ€ผ | `CLUSTER BY (DATE(created_at))` |
7678

77-
### ้›†็พค้”ฎ้€‰ๅž‹ไผ˜ๅŠฃๅฏนๆฏ”
79+
### ๅฅฝ็š„่š็ฐ‡้”ฎ vs ๅ็š„่š็ฐ‡้”ฎ
7880

79-
| โœ… ไผ˜้€‰ๆ–นๆกˆ | โŒ ๅŠฃ้€‰ๆ–นๆกˆ |
81+
| โœ… ๅฅฝ็š„้€‰ๆ‹ฉ | โŒ ๅทฎ็š„้€‰ๆ‹ฉ |
8082
|----------------|----------------|
81-
| ้ซ˜้ข‘่ฟ‡ๆปคๅˆ— | ๆžๅฐ‘ไฝฟ็”จ็š„ๅˆ— |
82-
| ไธญ็ญ‰ๅŸบๆ•ฐ๏ผˆ100-10Kๅ€ผ๏ผ‰ | ๅธƒๅฐ”ๅˆ—๏ผˆๅ–ๅ€ผ่ฟ‡ๅฐ‘๏ผ‰ |
83-
| ๆ—ฅๆœŸ/ๆ—ถ้—ดๅˆ— | ๅ”ฏไธ€IDๅˆ—๏ผˆๅ–ๅ€ผ่ฟ‡ๅคš๏ผ‰ |
84-
| ๅœฐๅŒบ/็ฑปๅˆซ/็Šถๆ€ๅˆ— | ้šๆœบๆˆ–ๅ“ˆๅธŒๅˆ— |
83+
| ้ข‘็น่ฟ‡ๆปค็š„ๅˆ— | ๅพˆๅฐ‘ไฝฟ็”จ็š„ๅˆ— |
84+
| ไธญ็ญ‰ๅŸบๆ•ฐ (100-10K ไธชๅ€ผ) | ๅธƒๅฐ”ๅˆ— (ๅ€ผๅคชๅฐ‘) |
85+
| ๆ—ฅๆœŸ/ๆ—ถ้—ดๅˆ— | ๅ”ฏไธ€ ID ๅˆ— (ๅ€ผๅคชๅคš) |
86+
| ๅŒบๅŸŸใ€็ฑปๅˆซใ€็Šถๆ€ | ้šๆœบๆˆ–ๅ“ˆๅธŒๅˆ— |
8587

86-
## ๆ€ง่ƒฝ็›‘ๆŽง
88+
## ็›‘ๆŽงๆ€ง่ƒฝ
8789

8890
```sql
89-
-- ๆฃ€ๆŸฅ้›†็พคๆ•ˆๆžœ
91+
-- Check clustering effectiveness
92+
-- ๆฃ€ๆŸฅ่š็ฐ‡ๆ•ˆๆžœ
9093
SELECT * FROM clustering_information('database_name', 'table_name');
9194

95+
-- Key metrics to watch:
9296
-- ๅ…ณ้”ฎๆŒ‡ๆ ‡๏ผš
93-
-- average_depth๏ผšๅ€ผ่ถŠไฝŽ่ถŠๅฅฝ๏ผˆ<2ไธบไฝณ๏ผ‰
94-
-- average_overlaps๏ผšๅ€ผ่ถŠไฝŽ่ถŠๅฅฝ
95-
-- block_depth_histogram๏ผšๆทฑๅบฆ1-2็š„ๅ—่ถŠๅคš่ถŠๅฅฝ
97+
-- average_depth: Lower is better (< 2 ideal)
98+
-- average_depth: ่ถŠไฝŽ่ถŠๅฅฝ (็†ๆƒณๆƒ…ๅ†ต < 2)
99+
-- average_overlaps: Lower is better
100+
-- average_overlaps: ่ถŠไฝŽ่ถŠๅฅฝ
101+
-- block_depth_histogram: More blocks at depth 1-2
102+
-- block_depth_histogram: ๆ›ดๅคšๆ•ฐๆฎๅ—ๅœจๆทฑๅบฆ 1-2
96103
```
97104

98-
## ้‡็ป„ๆ—ถๆœบ
105+
## ไฝ•ๆ—ถ้‡ๆ–ฐ่š็ฐ‡
99106

100-
ๆ•ฐๆฎๅ˜ๆ›ดไผšๅฏผ่‡ด่กจ้€ๆธๅคฑๅบ๏ผš
107+
้š็€ๆ•ฐๆฎๅ˜ๅŒ–๏ผŒ่กจไผš้š็€ๆ—ถ้—ดๅ˜ๅพ—ๆ— ๅบ๏ผš
101108

102109
```sql
103-
-- ๆฃ€ๆŸฅๆ˜ฏๅฆ้œ€่ฆ้‡็ป„
110+
-- Check if re-clustering is needed
111+
-- ๆฃ€ๆŸฅๆ˜ฏๅฆ้œ€่ฆ้‡ๆ–ฐ่š็ฐ‡
104112
SELECT IF(average_depth > 2 * LEAST(GREATEST(total_block_count * 0.001, 1), 16),
105-
'้œ€่ฆ้‡็ป„',
106-
'้›†็พค็Šถๆ€่‰ฏๅฅฝ')
113+
'Re-cluster needed',
114+
'Clustering is good')
107115
FROM clustering_information('your_database', 'your_table');
108116

109-
-- ้‡็ป„่กจ
117+
-- Re-cluster the table
118+
-- ้‡ๆ–ฐ่š็ฐ‡่กจ
110119
ALTER TABLE your_table RECLUSTER;
111120
```
112121

113122
## ๆ€ง่ƒฝ่ฐƒไผ˜
114123

115-
### ่‡ชๅฎšไน‰ๅ—ๅคงๅฐ
116-
่ฐƒๆ•ดๅ—ๅคงๅฐไผ˜ๅŒ–ๆ€ง่ƒฝ๏ผš
124+
### ่‡ชๅฎšไน‰ๆ•ฐๆฎๅ—ๅคงๅฐ
125+
่ฐƒๆ•ดๆ•ฐๆฎๅ—ๅคงๅฐไปฅ่Žทๅพ—ๆ›ดๅฅฝ็š„ๆ€ง่ƒฝ๏ผš
117126

118127
```sql
119-
-- ่พƒๅฐๅ—=ๆฏๆŸฅ่ฏขๅค„็†ๆ›ดๅฐ‘่กŒ
128+
-- Smaller blocks = fewer rows per query
129+
-- ๆ›ดๅฐ็š„ๆ•ฐๆฎๅ— = ๆฏๆฌกๆŸฅ่ฏข็š„่กŒๆ•ฐๆ›ดๅฐ‘
120130
ALTER TABLE sales SET OPTIONS(
121131
ROW_PER_BLOCK = 100000,
122132
BLOCK_SIZE_THRESHOLD = 52428800
123133
);
124134
```
125135

126-
### ่‡ชๅŠจ้‡็ป„ๆœบๅˆถ
127-
- `COPY INTO` ๅ’Œ `REPLACE INTO` ่‡ชๅŠจ่งฆๅ‘้‡็ป„
128-
- ๅฎšๆœŸ็›‘ๆŽง้›†็พคๆŒ‡ๆ ‡
129-
- ๅฝ“ `average_depth` ่ฟ‡้ซ˜ๆ—ถๆ‰ง่กŒ้‡็ป„
136+
### ่‡ชๅŠจ้‡ๆ–ฐ่š็ฐ‡
137+
- `COPY INTO` ๅ’Œ `REPLACE INTO` ไผš่‡ชๅŠจ่งฆๅ‘้‡ๆ–ฐ่š็ฐ‡
138+
- ๅฎšๆœŸ็›‘ๆŽง่š็ฐ‡ๆŒ‡ๆ ‡
139+
- ๅฝ“ `average_depth` ่ฟ‡้ซ˜ๆ—ถ้‡ๆ–ฐ่š็ฐ‡
130140

131141
## ๆœ€ไฝณๅฎž่ทต
132142

133-
| ๅฎž่ทตๆ–นๆกˆ | ๆ”ถ็›Š |
143+
| ๅฎž่ทต | ็›Šๅค„ |
134144
|----------|---------|
135-
| **ไปŽ็ฎ€ๅผ€ๅง‹** | ๅ…ˆไฝฟ็”จๅ•ๅˆ—้›†็พค้”ฎ |
145+
| **ไปŽ็ฎ€ๅ•ๅผ€ๅง‹** | ้ฆ–ๅ…ˆไฝฟ็”จๅ•ๅˆ—่š็ฐ‡้”ฎ |
136146
| **็›‘ๆŽงๆŒ‡ๆ ‡** | ๅฎšๆœŸๆฃ€ๆŸฅ clustering_information |
137-
| **ๆ€ง่ƒฝๆต‹่ฏ•** | ๅฏนๆฏ”้›†็พคๅ‰ๅŽๆŸฅ่ฏข้€Ÿๅบฆ |
138-
| **ๅฎšๆœŸ้‡็ป„** | ๆ•ฐๆฎๅ˜ๆ›ดๅŽ็ปดๆŠค้›†็พค็Šถๆ€ |
139-
| **ๆˆๆœฌ่€ƒ้‡** | ้›†็พคๆ“ไฝœๆถˆ่€—่ฎก็ฎ—่ต„ๆบ |
147+
| **ๆต‹่ฏ•ๆ€ง่ƒฝ** | ๅœจ่š็ฐ‡ๅ‰ๅŽๆต‹้‡ๆŸฅ่ฏข้€Ÿๅบฆ |
148+
| **ๅฎšๆœŸ้‡ๆ–ฐ่š็ฐ‡** | ๆ•ฐๆฎๆ›ดๆ”นๅŽไฟๆŒ่š็ฐ‡ |
149+
| **่€ƒ่™‘ๆˆๆœฌ** | ่š็ฐ‡ไผšๆถˆ่€—่ฎก็ฎ—่ต„ๆบ |
140150

141151
## ้‡่ฆ่ฏดๆ˜Ž
142152

143153
:::tip
144-
**้€‚็”จๅœบๆ™ฏ๏ผš**
145-
- ๅคง่กจ๏ผˆ็™พไธ‡+่กŒ๏ผ‰
146-
- ๆŸฅ่ฏขๆ€ง่ƒฝไฝŽไธ‹
147-
- ้ซ˜้ข‘่ฟ‡ๆปคๆŸฅ่ฏข
154+
**ไฝ•ๆ—ถไฝฟ็”จ่š็ฐ‡้”ฎ:**
155+
- ๅคงๅž‹่กจ (ๆ•ฐ็™พไธ‡่กŒไปฅไธŠ)
156+
- ๆŸฅ่ฏขๆ€ง่ƒฝๆ…ข
157+
- ้ข‘็นๅŸบไบŽ่ฟ‡ๆปคๅ™จ็š„ๆŸฅ่ฏข
148158
- ๅˆ†ๆžๅž‹ๅทฅไฝœ่ดŸ่ฝฝ
149159

150-
**ไธ้€‚็”จๅœบๆ™ฏ๏ผš**
151-
- ๅฐ่กจ
160+
**ไฝ•ๆ—ถไธไฝฟ็”จ:**
161+
- ๅฐๅž‹่กจ
152162
- ้šๆœบ่ฎฟ้—ฎๆจกๅผ
153-
- ้ข‘็นๅ˜ๆ›ดๆ•ฐๆฎ
163+
- ้ข‘็นๆ›ดๆ”น็š„ๆ•ฐๆฎ
154164
:::
155165

156166
---
157167

158-
*้›†็พค้”ฎๅฏนๅ…ทๆœ‰ๅฏ้ข„ๆต‹่ฟ‡ๆปคๆจกๅผ็š„ๅคงๅž‹้ซ˜้ข‘ๆŸฅ่ฏข่กจๆœ€ๆœ‰ๆ•ˆใ€‚ๅปบ่ฎฎไปŽๆœ€ๅธธ็”จ็š„WHEREๅญๅฅๅˆ—ๅผ€ๅง‹ๅฎžๆ–ฝใ€‚*
168+
*่š็ฐ‡้”ฎๅœจๅ…ทๆœ‰ๅฏ้ข„ๆต‹่ฟ‡ๆปคๆจกๅผ็š„ๅคงๅž‹ใ€้ข‘็นๆŸฅ่ฏข็š„่กจไธŠๆœ€ๆœ‰ๆ•ˆใ€‚ไปŽๆ‚จๆœ€ๅธธ่ง็š„ WHERE ๅญๅฅๅˆ—ๅผ€ๅง‹ใ€‚*

โ€Ždocs/cn/guides/55-performance/01-virtual-column.md

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,59 @@
11
---
2-
title: ่™šๆ‹Ÿๅˆ—
2+
title: Virtual Column
33
---
44

5-
# ่™šๆ‹Ÿๅˆ—๏ผšJSON ๆ•ฐๆฎ็š„่‡ชๅŠจๅŠ ้€Ÿๅผ•ๆ“Ž
5+
# ่™šๆ‹Ÿๅˆ—๏ผšJSON ๆ•ฐๆฎ็š„่‡ชๅŠจๅŠ ้€Ÿ
66

77
import EEFeature from '@site/src/components/EEFeature';
88

99
<EEFeature featureName='VIRTUAL COLUMN'/>
1010

11+
่™šๆ‹Ÿๅˆ— (Virtual Column) ่‡ชๅŠจๅŠ ้€Ÿๅฏนๅญ˜ๅ‚จๅœจ [VARIANT](/sql/sql-reference/data-types/variant) ๅˆ—ไธญ็š„ๅŠ็ป“ๆž„ๅŒ–ๆ•ฐๆฎ็š„ๆŸฅ่ฏขใ€‚ๆญคๅŠŸ่ƒฝไธบ JSON ๆ•ฐๆฎ่ฎฟ้—ฎๆไพ›ไบ†**้›ถ้…็ฝฎ็š„ๆ€ง่ƒฝไผ˜ๅŒ–**ใ€‚
1112

12-
่™šๆ‹Ÿๅˆ—ๆŠ€ๆœฏไธบๅญ˜ๅ‚จๅœจ [VARIANT](/sql/sql-reference/data-types/variant) ๅˆ—ไธญ็š„ๅŠ็ป“ๆž„ๅŒ–ๆ•ฐๆฎๆŸฅ่ฏขๆไพ›่‡ชๅŠจๅŠ ้€Ÿ่ƒฝๅŠ›ใ€‚่ฏฅ็‰นๆ€งไธบ JSON ๆ•ฐๆฎ่ฎฟ้—ฎๅฎž็Žฐไบ† **้›ถ้…็ฝฎๆ€ง่ƒฝไผ˜ๅŒ–**ใ€‚
13+
## ่งฃๅ†ณไบ†ไป€ไนˆ้—ฎ้ข˜๏ผŸ
1314

14-
## ่งฃๅ†ณ็š„ๆ ธๅฟƒ้—ฎ้ข˜
15-
16-
ไผ ็ปŸๆ•ฐๆฎๅบ“ๆŸฅ่ฏข JSON ๆ•ฐๆฎๆ—ถ๏ผŒๆฏๆฌก่ฎฟ้—ฎๅตŒๅฅ—ๅญ—ๆฎต้ƒฝ้œ€่ฆๅฎŒๆ•ด่งฃๆž JSON ็ป“ๆž„๏ผŒๅฏผ่‡ดไปฅไธ‹ๆ€ง่ƒฝ็“ถ้ขˆ๏ผš
15+
ๆŸฅ่ฏข JSON ๆ•ฐๆฎๆ—ถ๏ผŒไผ ็ปŸๆ•ฐๆฎๅบ“ๅœจๆฏๆฌก่ฎฟ้—ฎๅตŒๅฅ—ๅญ—ๆฎตๆ—ถ้ƒฝๅฟ…้กป่งฃๆžๆ•ดไธช JSON ็ป“ๆž„ใ€‚่ฟ™ไผš้€ ๆˆๆ€ง่ƒฝ็“ถ้ขˆ๏ผš
1716

1817
| ้—ฎ้ข˜ | ๅฝฑๅ“ | ่™šๆ‹Ÿๅˆ—่งฃๅ†ณๆ–นๆกˆ |
1918
|---------|--------|------------------------|
20-
| **ๆŸฅ่ฏขๅปถ่ฟŸ** | ๅคๆ‚ JSON ๆŸฅ่ฏข่€—ๆ—ถๆ•ฐ็ง’ | ไบš็ง’็บงๅ“ๅบ” |
21-
| **ๆ•ฐๆฎ่ฏปๅ–่ฟ‡้‡** | ๅณไฝฟๅช้œ€ๅ•ไธชๅญ—ๆฎตไนŸ่ฆ่ฏปๅ–ๆ•ดไธชๆ–‡ๆกฃ | ไป…่ฏปๅ–็‰นๅฎšๅญ—ๆฎต |
22-
| **JSON ่งฃๆž็ผ“ๆ…ข** | ๆฏๆฌกๆŸฅ่ฏข้ƒฝ้œ€้‡ๆ–ฐ่งฃๆžๅฎŒๆ•ดๆ–‡ๆกฃ | ้ข„็‰ฉๅŒ–ๅญ—ๆฎตๅฎž็Žฐๅณๆ—ถ่ฎฟ้—ฎ |
23-
| **CPU ๅ ็”จ้ซ˜** | JSON ้ๅކๆถˆ่€—ๅคง้‡่ฎก็ฎ—่ต„ๆบ | ๅƒๅธธ่ง„ๆ•ฐๆฎไธ€ๆ ท็›ดๆŽฅ่ฏปๅ–ๅˆ— |
24-
| **ๅ†…ๅญ˜ๅผ€้”€ๅคง** | ้œ€ๅŠ ่ฝฝๅฎŒๆ•ด JSON ็ป“ๆž„ๅˆฐๅ†…ๅญ˜ | ไป…ๅŠ ่ฝฝๅฟ…่ฆๅญ—ๆฎต |
19+
| **ๆŸฅ่ฏขๅปถ่ฟŸ** | ๅคๆ‚็š„ JSON ๆŸฅ่ฏข้œ€่ฆๆ•ฐ็ง’ | ไบš็ง’็บงๅ“ๅบ”ๆ—ถ้—ด |
20+
| **่ฟ‡ๅบฆๆ•ฐๆฎ่ฏปๅ–** | ๅณไฝฟๅช่ฏปๅ–ๅ•ไธชๅญ—ๆฎตไนŸๅฟ…้กป่ฏปๅ–ๆ•ดไธช JSON ๆ–‡ๆกฃ | ๅช่ฏปๅ–ๆ‰€้œ€็š„็‰นๅฎšๅญ—ๆฎต |
21+
| **JSON ่งฃๆž็ผ“ๆ…ข** | ๆฏๆฌกๆŸฅ่ฏข้ƒฝ้‡ๆ–ฐ่งฃๆžๆ•ดไธช JSON ๆ–‡ๆกฃ | ้ข„็‰ฉๅŒ–ๅญ—ๆฎตไปฅๅฎž็Žฐๅณๆ—ถ่ฎฟ้—ฎ |
22+
| **CPU ไฝฟ็”จ็އ้ซ˜** | JSON ้ๅކๆถˆ่€—ๅค„็†่ƒฝๅŠ› | ๅƒๅธธ่ง„ๆ•ฐๆฎไธ€ๆ ท็›ดๆŽฅ่ฏปๅ–ๅˆ— |
23+
| **ๅ†…ๅญ˜ๅผ€้”€** | ๅฐ†ๅฎŒๆ•ด็š„ JSON ็ป“ๆž„ๅŠ ่ฝฝๅˆฐๅ†…ๅญ˜ไธญ | ๅชๅŠ ่ฝฝๆ‰€้œ€ๅญ—ๆฎต |
2524

26-
**ๅ…ธๅž‹ๅœบๆ™ฏ**๏ผš็”ตๅ•†ๅˆ†ๆž่กจไธญๅญ˜ๅ‚จ JSON ๆ ผๅผ็š„ไบงๅ“ๆ•ฐๆฎใ€‚ๆฒกๆœ‰่™šๆ‹Ÿๅˆ—ๆ—ถ๏ผŒๆŸฅ่ฏข `product_data['category']` ้œ€่ฆ่งฃๆžๆ•ฐ็™พไธ‡่กŒ JSON ๆ–‡ๆกฃ๏ผ›ไฝฟ็”จ่™šๆ‹Ÿๅˆ—ๅŽ๏ผŒ่ฏฅๆ“ไฝœๅ˜ไธบ็›ดๆŽฅ็š„ๅˆ—ๆŸฅๆ‰พใ€‚
25+
**็คบไพ‹ๅœบๆ™ฏ**๏ผšไธ€ไธช็”ตๅ•†ๅˆ†ๆž่กจ๏ผŒๅ…ถไธญๅŒ…ๅซ JSON ๆ ผๅผ็š„ไบงๅ“ๆ•ฐๆฎใ€‚ๅฆ‚ๆžœๆฒกๆœ‰่™šๆ‹Ÿๅˆ—๏ผŒๆŸฅ่ฏขๆ•ฐ็™พไธ‡่กŒไธญ็š„ `product_data['category']` ้œ€่ฆ่งฃๆžๆฏไธช JSON ๆ–‡ๆกฃใ€‚ๆœ‰ไบ†่™šๆ‹Ÿๅˆ—๏ผŒๅฎƒๅฐฑๅ˜ๆˆไบ†็›ดๆŽฅ็š„ๅˆ—ๆŸฅๆ‰พใ€‚
2726

2827
## ่‡ชๅŠจๅทฅไฝœๅŽŸ็†
2928

30-
1. **ๆ•ฐๆฎๆ‘„ๅ…ฅ** โ†’ Databend ๅˆ†ๆž VARIANT ๅˆ—ไธญ็š„ JSON ็ป“ๆž„
31-
2. **ๆ™บ่ƒฝๆฃ€ๆต‹** โ†’ ็ณป็ปŸ่ฏ†ๅˆซ้ซ˜้ข‘่ฎฟ้—ฎ็š„ๅตŒๅฅ—ๅญ—ๆฎต
29+
1. **ๆ•ฐๆฎๆ‘„ๅ–** โ†’ Databend ๅˆ†ๆž VARIANT ๅˆ—ไธญ็š„ JSON ็ป“ๆž„
30+
2. **ๆ™บ่ƒฝๆฃ€ๆต‹** โ†’ ็ณป็ปŸ่ฏ†ๅˆซ้ข‘็น่ฎฟ้—ฎ็š„ๅตŒๅฅ—ๅญ—ๆฎต
3231
3. **ๅŽๅฐไผ˜ๅŒ–** โ†’ ่‡ชๅŠจๅˆ›ๅปบ่™šๆ‹Ÿๅˆ—
3332
4. **ๆŸฅ่ฏขๅŠ ้€Ÿ** โ†’ ๆŸฅ่ฏข่‡ชๅŠจไฝฟ็”จไผ˜ๅŒ–่ทฏๅพ„
3433

35-
![่™šๆ‹Ÿๅˆ—ๅทฅไฝœๆต็จ‹](/img/sql/virtual-column.png)
34+
![Virtual Column Workflow](/img/sql/virtual-column.png)
3635

37-
## ้…็ฝฎๆ–นๆณ•
36+
## ้…็ฝฎ
3837

3938
```sql
40-
-- ๅฏ็”จๅฎž้ชŒๆ€งๅŠŸ่ƒฝ
39+
-- ๅฏ็”จ่ฏฅๅŠŸ่ƒฝ๏ผˆๅฎž้ชŒๆ€ง๏ผ‰
4140
SET enable_experimental_virtual_column = 1;
4241

4342
-- ๅฏ้€‰๏ผšๆŽงๅˆถ่‡ชๅŠจๅˆทๆ–ฐ่กŒไธบ
44-
SET enable_refresh_virtual_column_after_write = 1; -- ้ป˜่ฎคๅฏ็”จ
43+
SET enable_refresh_virtual_column_after_write = 1; -- ้ป˜่ฎค๏ผšๅฏ็”จ
4544
```
4645

4746
## ๅฎŒๆ•ด็คบไพ‹
4847

49-
ๆœฌ็คบไพ‹ๅฑ•็คบ่™šๆ‹Ÿๅˆ—็š„่‡ชๅŠจๅˆ›ๅปบ่ฟ‡็จ‹ไธŽๆ€ง่ƒฝไผ˜ๅŠฟ๏ผš
48+
ๆญค็คบไพ‹ๆผ”็คบไบ†่™šๆ‹Ÿๅˆ—็š„่‡ชๅŠจๅˆ›ๅปบๅ’Œๆ€ง่ƒฝไผ˜ๅŠฟ๏ผš
5049

5150
```sql
5251
SET enable_experimental_virtual_column=1;
5352

54-
-- ๅˆ›ๅปบๅŒ…ๅซ Variant ็ฑปๅž‹ๅˆ— 'val' ็š„ๆต‹่ฏ•่กจ
53+
-- ๅˆ›ๅปบไธ€ไธชๅไธบ 'test' ็š„่กจ๏ผŒๅŒ…ๅซ 'id'๏ผˆๆ•ดๅž‹๏ผ‰ๅ’Œ 'val'๏ผˆVariant ็ฑปๅž‹๏ผ‰ๅˆ—ใ€‚
5554
CREATE TABLE test(id int, val variant);
5655

57-
-- ๅ‘ๆต‹่ฏ•่กจๆ’ๅ…ฅ Variant ๆ•ฐๆฎๆ ทๆœฌ
56+
-- ๅ‘ 'test' ่กจๆ’ๅ…ฅๅŒ…ๅซ Variant ๆ•ฐๆฎ็š„็คบไพ‹่ฎฐๅฝ•ใ€‚
5857
INSERT INTO
5958
test
6059
VALUES
@@ -85,7 +84,7 @@ INSERT INTO test SELECT * FROM test;
8584
INSERT INTO test SELECT * FROM test;
8685
INSERT INTO test SELECT * FROM test;
8786

88-
-- ่งฃ้‡ŠๆŸฅ่ฏข็‰นๅฎšๅญ—ๆฎต็š„ๆ‰ง่กŒ่ฎกๅˆ’
87+
-- ่งฃ้‡ŠไปŽ่กจไธญ้€‰ๆ‹ฉ็‰นๅฎšๅญ—ๆฎต็š„ๆŸฅ่ฏขๆ‰ง่กŒ่ฎกๅˆ’ใ€‚
8988
EXPLAIN
9089
SELECT
9190
val ['name'],
@@ -110,7 +109,7 @@ Exchange
110109
โ”œโ”€โ”€ virtual columns: [val['name'], val['pricings'][0]['type'], val['tags'][0]]
111110
โ””โ”€โ”€ estimated rows: 160.00
112111

113-
-- ่งฃ้‡Šไป…ๆŸฅ่ฏข 'name' ๅญ—ๆฎต็š„ๆ‰ง่กŒ่ฎกๅˆ’
112+
-- ่งฃ้‡ŠไปŽ่กจไธญไป…้€‰ๆ‹ฉ 'name' ๅญ—ๆฎต็š„ๆŸฅ่ฏขๆ‰ง่กŒ่ฎกๅˆ’ใ€‚
114113
EXPLAIN
115114
SELECT
116115
val ['name']
@@ -133,7 +132,7 @@ Exchange
133132
โ”œโ”€โ”€ virtual columns: [val['name']]
134133
โ””โ”€โ”€ estimated rows: 160.00
135134

136-
-- ๆ˜พ็คบๆ‰€ๆœ‰่‡ชๅŠจ็”Ÿๆˆ็š„่™šๆ‹Ÿๅˆ—
135+
-- ๆ˜พ็คบๆ‰€ๆœ‰่‡ชๅŠจ็”Ÿๆˆ็š„่™šๆ‹Ÿๅˆ—ใ€‚
137136
SHOW VIRTUAL COLUMNS WHERE table='test';
138137

139138
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
@@ -159,14 +158,14 @@ SHOW VIRTUAL COLUMNS WHERE table='test';
159158
| [`REFRESH VIRTUAL COLUMN`](/sql/sql-commands/ddl/virtual-column/refresh-virtual-column) | ๆ‰‹ๅŠจๅˆทๆ–ฐ่™šๆ‹Ÿๅˆ— |
160159
| [`FUSE_VIRTUAL_COLUMN`](/sql/sql-functions/system-functions/fuse_virtual_column) | ๆŸฅ็œ‹่™šๆ‹Ÿๅˆ—ๅ…ƒๆ•ฐๆฎ |
161160

162-
## ๆ€ง่ƒฝ่กจ็Žฐ
161+
## ๆ€ง่ƒฝ็ป“ๆžœ
163162

164-
่™šๆ‹Ÿๅˆ—ๆŠ€ๆœฏ้€šๅธธๅธฆๆฅ๏ผš
165-
- **5-10 ๅ€** ็š„ JSON ๅญ—ๆฎต่ฎฟ้—ฎ้€Ÿๅบฆๆๅ‡
166-
- **ๆ— ้œ€ไฟฎๆ”นๆŸฅ่ฏข** ็š„่‡ชๅŠจไผ˜ๅŒ–
167-
- **ๆ˜พ่‘—้™ไฝŽ** ๆŸฅ่ฏขๅค„็†ๆ—ถ็š„่ต„ๆบๆถˆ่€—
168-
- **ๅฏน็Žฐๆœ‰ๅบ”็”จ้€ๆ˜Ž** ็š„ๅŠ ้€Ÿๆ•ˆๆžœ
163+
่™šๆ‹Ÿๅˆ—้€šๅธธๆไพ›๏ผš
164+
- JSON ๅญ—ๆฎต่ฎฟ้—ฎ้€Ÿๅบฆ**ๅฟซ 5-10 ๅ€**
165+
- **ๆ— ้œ€ๆ›ดๆ”นๆŸฅ่ฏข**ๅณๅฏๅฎž็Žฐ่‡ชๅŠจไผ˜ๅŒ–
166+
- ๆŸฅ่ฏขๅค„็†ๆœŸ้—ด**่ต„ๆบๆถˆ่€—้™ไฝŽ**
167+
- ๅฏน็Žฐๆœ‰ๅบ”็”จ็จ‹ๅบ็š„**้€ๆ˜ŽๅŠ ้€Ÿ**
169168

170169
---
171170

172-
*่™šๆ‹Ÿๅˆ—ๅœจๅŽๅฐ่‡ชๅŠจๅทฅไฝœ - ๅช้œ€ๅฏ็”จ่ฏฅๅŠŸ่ƒฝ๏ผŒDatabend ๅฐฑไผš่‡ชๅŠจไผ˜ๅŒ–ๆ‚จ็š„ JSON ๆŸฅ่ฏขใ€‚*
171+
*่™šๆ‹Ÿๅˆ—ๅœจๅŽๅฐ่‡ชๅŠจๅทฅไฝœ - ๅช้œ€ๅฏ็”จ่ฏฅๅŠŸ่ƒฝ๏ผŒ่ฎฉ Databend ไผ˜ๅŒ–ๆ‚จ็š„ JSON ๆŸฅ่ฏขใ€‚*

0 commit comments

Comments
ย (0)