|
1 | 1 | ---
|
2 |
| -title: ้็พค้ฎ |
| 2 | +title: Cluster Key |
3 | 3 | ---
|
4 | 4 |
|
5 |
| -# ้็พค้ฎ๏ผ่ชๅจๆฐๆฎ็ป็ปๅ ้ๆฅ่ฏข |
| 5 | +# ่็ฐ้ฎ (Cluster Key): ่ชๅจๆฐๆฎ็ป็ปไปฅๅ ้ๆฅ่ฏข |
6 | 6 |
|
7 |
| -้็พค้ฎ้่ฟ่ชๅจๆฐๆฎ็ป็ปๆบๅถ๏ผๆพ่ๆๅๅคง่กจๆฅ่ฏขๆง่ฝใDatabend ๅจๅๅฐๆ ็ผๆ็ปญ็ฎก็ๆๆ้็พคๆไฝโโๆจๅช้ๅฎไน้็พค้ฎ๏ผๅ
ถไฝๅทฅไฝ็ฑ Databend ่ชๅจๅฎๆใ |
| 7 | +่็ฐ้ฎ (cluster key) ๆไพ่ชๅจๆฐๆฎ็ป็ปๅ่ฝ๏ผๅฏๆพ่ๆ้ซๅคงๅ่กจ็ๆฅ่ฏขๆง่ฝใDatabend ๅจๅๅฐๆ ็ผไธๆ็ปญๅฐ็ฎก็ๆๆ่็ฐๆไฝโโๆจๅช้ๅฎไน่็ฐ้ฎ๏ผDatabend ๅฐฑไผๅค็ๅ
ถไฝ็ๅทฅไฝใ |
8 | 8 |
|
9 |
| -## ่งฃๅณ็ๆ ธๅฟ้ฎ้ข |
| 9 | +## ่งฃๅณไบไปไน้ฎ้ข๏ผ |
10 | 10 |
|
11 |
| -ๆช็ปๅ็็ป็ป็ๅคง่กจไผๅผๅไธฅ้็ๆง่ฝๅ็ปดๆคๆๆ๏ผ |
| 11 | +ๆช็ป้ๅฝ็ป็ป็ๅคงๅ่กจไผๅธฆๆฅๆพ่็ๆง่ฝๅ็ปดๆคๆๆ๏ผ |
12 | 12 |
|
13 |
| -| ้ฎ้ข | ๅฝฑๅ | ่ชๅจ้็พค่งฃๅณๆนๆก | |
| 13 | +| ้ฎ้ข | ๅฝฑๅ | ่ชๅจ่็ฐ่งฃๅณๆนๆก | |
14 | 14 | |---------|--------|------------------------------|
|
15 |
| -| **ๅ
จ่กจๆซๆ** | ๅณไฝฟๆฅ่ฏข่ฟๆปคๆฐๆฎไป้่ฏปๅๆด่กจ | ่ชๅจ็ป็ปๆฐๆฎ๏ผไป
่ฏปๅ็ธๅ
ณๆฐๆฎๅ | |
16 |
| -| **้ๆบๆฐๆฎ่ฎฟ้ฎ** | ็ธไผผๆฐๆฎๅๆฃๅญๅจ | ๆ็ปญๅฐๅ
ณ่ๆฐๆฎๅ็ปๅญๅจ | |
17 |
| -| **่ฟๆปคๆฅ่ฏข็ผๆ
ข** | WHERE ๅญๅฅๆซๆๆ ๅ
ณ่ก | ่ชๅจ่ทณ่ฟไธ็ธๅ
ณๆฐๆฎๅ | |
18 |
| -| **้ซI/Oๆๆฌ** | ่ฏปๅๅคง้ๆ ็จๆฐๆฎ | ่ชๅจๆๅฐๅๆฐๆฎไผ ่พ้ | |
19 |
| -| **ๆๅจ็ปดๆค** | ้็ๆงๅนถๆๅจ้็ป่กจ | ้ถ็ปดๆคโโๅๅฐ่ชๅจไผๅ | |
20 |
| -| **่ตๆบ็ฎก็** | ้ไธบ้็พคๆไฝๅ้
่ฎก็ฎ่ตๆบ | Databend ่ชๅจๅค็ๆๆ้็พค่ตๆบ | |
| 15 | +| **ๅ
จ่กจๆซๆ** | ๅณไฝฟๆฏ่ฟๆปคๅ็ๆฐๆฎ๏ผๆฅ่ฏขไนไผ่ฏปๅๆดไธช่กจ | ่ชๅจ็ป็ปๆฐๆฎ๏ผๅช่ฏปๅ็ธๅ
ณๆฐๆฎๅ | |
| 16 | +| **้ๆบๆฐๆฎ่ฎฟ้ฎ** | ็ธไผผๆฐๆฎๅๆฃๅจๅญๅจไธญ | ๆ็ปญๅฐ็ธๅ
ณๆฐๆฎๅ็ปๅจไธ่ตท | |
| 17 | +| **ๆ
ข้่ฟๆปคๆฅ่ฏข** | WHERE ๅญๅฅๆซๆไธๅฟ
่ฆ็่ก | ่ชๅจๅฎๅ
จ่ทณ่ฟไธ็ธๅ
ณ็ๅ | |
| 18 | +| **้ซ I/O ๆๆฌ** | ่ฏปๅๅคง้ๆชไฝฟ็จ็ๆงๆฐๆฎ | ่ชๅจๆๅฐๅๆฐๆฎไผ ่พ | |
| 19 | +| **ๆๅจ็ปดๆค** | ้่ฆ็ๆงๅๆๅจ้ๆฐ่็ฐ่กจ | ้ถ็ปดๆคโโ่ชๅจๅๅฐไผๅ | |
| 20 | +| **่ตๆบ็ฎก็** | ๅฟ
้กปไธบ่็ฐๆไฝๅ้
่ฎก็ฎ่ตๆบ | Databend ่ชๅจๅค็ๆๆ่็ฐ่ตๆบ | |
21 | 21 |
|
22 |
| -**็คบไพ**๏ผ็ตๅๅนณๅฐ็พไธ็บงๅๅ่กจใๆช้็พคๆถ๏ผๆฅ่ฏข `WHERE category IN ('Electronics', 'Computers')` ๅฟ
้กปๆซๆๆๆๅๅ็ฑปๅซใ้่ฟๆ็ฑปๅซ่ชๅจ้็พคๅ๏ผDatabend ๆ็ปญๅฐ็ตๅญไบงๅๅ็ต่็ฑปๅๅ้ไธญๅญๅจ๏ผไป
้ๆซๆ2ไธชๆฐๆฎๅ่้1000+ไธชใ |
| 22 | +**็คบไพ**: ไธไธชๅ
ๅซๆฐ็พไธๅๅ็็ตๅ่กจใๅฆๆๆฒกๆ่็ฐ๏ผๆฅ่ฏข `WHERE category IN ('Electronics', 'Computers')` ๅฟ
้กปๆซๆๆๆๅๅ็ฑปๅซใ้่ฟๆ็ฑปๅซ่ชๅจ่็ฐ๏ผDatabend ไผๆ็ปญๅฐ็ตๅญไบงๅๅ็ต่ไบงๅๅ็ปๅจไธ่ตท๏ผๅชๆซๆ 2 ไธชๆฐๆฎๅ่ไธๆฏ 1000 ๅคไธชๆฐๆฎๅใ |
23 | 23 |
|
24 |
| -## ่ชๅจ้็พค็ไผๅฟ |
| 24 | +## ่ชๅจ่็ฐ็ไผๅฟ |
25 | 25 |
|
26 |
| -**็ปดๆคไพฟๆทๆง**๏ผDatabend ๆถ้คไบไปฅไธ้ๆฑ๏ผ |
27 |
| -- ็ๆง้็พค่กจ็ถๆ |
28 |
| -- ๆๅจ่งฆๅ้็ปๆไฝ |
29 |
| -- ๆๅฎ้็พค่ฎก็ฎ่ตๆบ |
| 26 | +**ๆไบ็ปดๆค**: Databend ๆถ้คไบไปฅไธ้ๆฑ๏ผ |
| 27 | +- ็ๆง่็ฐ่กจ็็ถๆ |
| 28 | +- ๆๅจ่งฆๅ้ๆฐ่็ฐๆไฝ |
| 29 | +- ไธบ่็ฐๆๅฎ่ฎก็ฎ่ตๆบ |
30 | 30 | - ๅฎๆ็ปดๆค็ชๅฃ
|
31 | 31 |
|
32 |
| -**ๅทฅไฝๅ็**๏ผๅฎไน้็พค้ฎๅ๏ผDatabend ่ชๅจๆง่ก๏ผ |
33 |
| -- ็ๆงDMLๆไฝๅผ่ตท็่กจๅๆด |
34 |
| -- ่ฏไผฐไฝๆถ้่ฆ้็ป่กจ |
35 |
| -- ๆง่กๅๅฐ้็พคไผๅ |
36 |
| -- ๆ็ปญไฟๆๆไผๆฐๆฎ็ป็ป |
| 32 | +**ๅทฅไฝๅ็**: ๅฎไน่็ฐ้ฎๅ๏ผDatabend ไผ่ชๅจ๏ผ |
| 33 | +- ็ๆง DML ๆไฝๅผ่ตท็่กจๆดๆน |
| 34 | +- ่ฏไผฐไฝๆถ้่ฆ้ๆฐ่็ฐ่กจ |
| 35 | +- ๆง่กๅๅฐ่็ฐไผๅ |
| 36 | +- ๆ็ปญ็ปดๆคๆไฝณๆฐๆฎ็ป็ป |
37 | 37 |
|
38 |
| -ๆจๅช้ไธบๆฏไธช่กจๅฎไน้็พค้ฎ๏ผๅฆ้็จ๏ผ๏ผDatabend ๅฐ่ชๅจๅค็ๆๆๅ็ปญ็ปดๆคใ |
| 38 | +ๆจๆ้่ฆๅ็ๅฐฑๆฏไธบๆฏไธช่กจๅฎไนไธไธช่็ฐ้ฎ (ๅฆๆ้็จ)๏ผDatabend ไผ่ชๅจ็ฎก็ๆๆๆชๆฅ็็ปดๆคใ |
39 | 39 |
|
40 |
| -## ๆๆฏๅ็ |
| 40 | +## ๅทฅไฝๅ็ |
41 | 41 |
|
42 |
| -้็พค้ฎๆ นๆฎๆๅฎๅๅฐๆฐๆฎ็ป็ปๅฐๅญๅจๅ๏ผParquetๆไปถ๏ผไธญ๏ผ |
| 42 | +่็ฐ้ฎๆ นๆฎๆๅฎ็ๅๅฐๆฐๆฎ็ป็ปๅฐๅญๅจๅ (Parquet ๆไปถ) ไธญ๏ผ |
43 | 43 |
|
44 |
| - |
| 44 | + |
45 | 45 |
|
46 |
| -1. **ๆฐๆฎ็ป็ป** โ ็ธไผผๅผๅฝๅ
ฅ็ธ้ปๅญๅจๅ |
47 |
| -2. **ๅ
ๆฐๆฎๅๅปบ** โ ๅปบ็ซๅๅผๆ ๅฐๅฟซ้็ดขๅผ |
48 |
| -3. **ๆฅ่ฏขไผๅ** โ ไป
่ฏปๅ็ธๅ
ณๆฐๆฎๅ |
49 |
| -4. **ๆง่ฝๆๅ** โ ๅๅฐๆซๆ่กๆฐ๏ผๅ ้็ปๆ่ฟๅ |
| 46 | +1. **ๆฐๆฎ็ป็ป** โ ็ธไผผๅผๅ็ปๅฐ็ธ้ป็ๆฐๆฎๅไธญ |
| 47 | +2. **ๅ
ๆฐๆฎๅๅปบ** โ ๅญๅจๅๅฐๅผ็ๆ ๅฐ๏ผ็จไบๅฟซ้ๆฅๆพ |
| 48 | +3. **ๆฅ่ฏขไผๅ** โ ๆฅ่ฏขๆ้ดๅช่ฏปๅ็ธๅ
ณๆฐๆฎๅ |
| 49 | +4. **ๆง่ฝๆๅ** โ ๆซๆ็่กๆฐๆดๅฐ๏ผ็ปๆๆดๅฟซ |
50 | 50 |
|
51 |
| -## ๅฟซ้้
็ฝฎ |
| 51 | +## ๅฟซ้่ฎพ็ฝฎ |
52 | 52 |
|
53 | 53 | ```sql
|
54 |
| --- ๅๅปบๅธฆ้็พค้ฎ็่กจ |
| 54 | +-- Create table with cluster key |
| 55 | +-- ๅๅปบๅธฆๆ่็ฐ้ฎ็่กจ |
55 | 56 | CREATE TABLE sales (
|
56 | 57 | order_id INT,
|
57 | 58 | order_date TIMESTAMP,
|
58 | 59 | region VARCHAR,
|
59 | 60 | amount DECIMAL
|
60 | 61 | ) CLUSTER BY (region);
|
61 | 62 |
|
62 |
| --- ไธบๅทฒๆ่กจๆทปๅ ้็พค้ฎ |
| 63 | +-- Or add cluster key to existing table |
| 64 | +-- ๆ่
ไธบ็ฐๆ่กจๆทปๅ ่็ฐ้ฎ |
63 | 65 | ALTER TABLE sales CLUSTER BY (region, order_date);
|
64 | 66 | ```
|
65 | 67 |
|
66 |
| -## ้็พค้ฎ้ๅๆๅ |
| 68 | +## ้ๆฉๆญฃ็กฎ็่็ฐ้ฎ |
67 | 69 |
|
68 |
| -ๆ นๆฎ้ซ้ขๆฅ่ฏขๆกไปถ้ๆฉๅ๏ผ |
| 70 | +ๆ นๆฎๆจๆๅธธ่ง็ๆฅ่ฏข่ฟๆปคๅจ้ๆฉๅ๏ผ |
69 | 71 |
|
70 |
| -| ๆฅ่ฏขๆจกๅผ | ๆจ่้็พค้ฎ | ็คบไพ | |
| 72 | +| ๆฅ่ฏขๆจกๅผ | ๆจ่็่็ฐ้ฎ | ็คบไพ | |
71 | 73 | |---------------|------------------------|---------|
|
72 |
| -| ๅๅ่ฟๆปค | ่ฏฅๅ | `CLUSTER BY (region)` | |
73 |
| -| ๅคๅ่ฟๆปค | ๅคๅ็ปๅ | `CLUSTER BY (region, category)` | |
| 74 | +| ๆๅๅ่ฟๆปค | ่ฏฅๅ | `CLUSTER BY (region)` | |
| 75 | +| ๆๅคๅ่ฟๆปค | ๅคๅ | `CLUSTER BY (region, category)` | |
74 | 76 | | ๆฅๆ่ๅดๆฅ่ฏข | ๆฅๆ/ๆถ้ดๆณๅ | `CLUSTER BY (order_date)` |
|
75 |
| -| ้ซๅบๆฐๅ | ไฝฟ็จ่กจ่พพๅผ้็ปด | `CLUSTER BY (DATE(created_at))` | |
| 77 | +| ้ซๅบๆฐๅ | ไฝฟ็จ่กจ่พพๅผๅๅฐๅผ | `CLUSTER BY (DATE(created_at))` | |
76 | 78 |
|
77 |
| -### ้็พค้ฎ้ๅไผๅฃๅฏนๆฏ |
| 79 | +### ๅฅฝ็่็ฐ้ฎ vs ๅ็่็ฐ้ฎ |
78 | 80 |
|
79 |
| -| โ
ไผ้ๆนๆก | โ ๅฃ้ๆนๆก | |
| 81 | +| โ
ๅฅฝ็้ๆฉ | โ ๅทฎ็้ๆฉ | |
80 | 82 | |----------------|----------------|
|
81 |
| -| ้ซ้ข่ฟๆปคๅ | ๆๅฐไฝฟ็จ็ๅ | |
82 |
| -| ไธญ็ญๅบๆฐ๏ผ100-10Kๅผ๏ผ | ๅธๅฐๅ๏ผๅๅผ่ฟๅฐ๏ผ | |
83 |
| -| ๆฅๆ/ๆถ้ดๅ | ๅฏไธIDๅ๏ผๅๅผ่ฟๅค๏ผ | |
84 |
| -| ๅฐๅบ/็ฑปๅซ/็ถๆๅ | ้ๆบๆๅๅธๅ | |
| 83 | +| ้ข็น่ฟๆปค็ๅ | ๅพๅฐไฝฟ็จ็ๅ | |
| 84 | +| ไธญ็ญๅบๆฐ (100-10K ไธชๅผ) | ๅธๅฐๅ (ๅผๅคชๅฐ) | |
| 85 | +| ๆฅๆ/ๆถ้ดๅ | ๅฏไธ ID ๅ (ๅผๅคชๅค) | |
| 86 | +| ๅบๅใ็ฑปๅซใ็ถๆ | ้ๆบๆๅๅธๅ | |
85 | 87 |
|
86 |
| -## ๆง่ฝ็ๆง |
| 88 | +## ็ๆงๆง่ฝ |
87 | 89 |
|
88 | 90 | ```sql
|
89 |
| --- ๆฃๆฅ้็พคๆๆ |
| 91 | +-- Check clustering effectiveness |
| 92 | +-- ๆฃๆฅ่็ฐๆๆ |
90 | 93 | SELECT * FROM clustering_information('database_name', 'table_name');
|
91 | 94 |
|
| 95 | +-- Key metrics to watch: |
92 | 96 | -- ๅ
ณ้ฎๆๆ ๏ผ
|
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 |
96 | 103 | ```
|
97 | 104 |
|
98 |
| -## ้็ปๆถๆบ |
| 105 | +## ไฝๆถ้ๆฐ่็ฐ |
99 | 106 |
|
100 |
| -ๆฐๆฎๅๆดไผๅฏผ่ด่กจ้ๆธๅคฑๅบ๏ผ |
| 107 | +้็ๆฐๆฎๅๅ๏ผ่กจไผ้็ๆถ้ดๅๅพๆ ๅบ๏ผ |
101 | 108 |
|
102 | 109 | ```sql
|
103 |
| --- ๆฃๆฅๆฏๅฆ้่ฆ้็ป |
| 110 | +-- Check if re-clustering is needed |
| 111 | +-- ๆฃๆฅๆฏๅฆ้่ฆ้ๆฐ่็ฐ |
104 | 112 | SELECT IF(average_depth > 2 * LEAST(GREATEST(total_block_count * 0.001, 1), 16),
|
105 |
| - '้่ฆ้็ป', |
106 |
| - '้็พค็ถๆ่ฏๅฅฝ') |
| 113 | + 'Re-cluster needed', |
| 114 | + 'Clustering is good') |
107 | 115 | FROM clustering_information('your_database', 'your_table');
|
108 | 116 |
|
109 |
| --- ้็ป่กจ |
| 117 | +-- Re-cluster the table |
| 118 | +-- ้ๆฐ่็ฐ่กจ |
110 | 119 | ALTER TABLE your_table RECLUSTER;
|
111 | 120 | ```
|
112 | 121 |
|
113 | 122 | ## ๆง่ฝ่ฐไผ
|
114 | 123 |
|
115 |
| -### ่ชๅฎไนๅๅคงๅฐ |
116 |
| -่ฐๆดๅๅคงๅฐไผๅๆง่ฝ๏ผ |
| 124 | +### ่ชๅฎไนๆฐๆฎๅๅคงๅฐ |
| 125 | +่ฐๆดๆฐๆฎๅๅคงๅฐไปฅ่ทๅพๆดๅฅฝ็ๆง่ฝ๏ผ |
117 | 126 |
|
118 | 127 | ```sql
|
119 |
| --- ่พๅฐๅ=ๆฏๆฅ่ฏขๅค็ๆดๅฐ่ก |
| 128 | +-- Smaller blocks = fewer rows per query |
| 129 | +-- ๆดๅฐ็ๆฐๆฎๅ = ๆฏๆฌกๆฅ่ฏข็่กๆฐๆดๅฐ |
120 | 130 | ALTER TABLE sales SET OPTIONS(
|
121 | 131 | ROW_PER_BLOCK = 100000,
|
122 | 132 | BLOCK_SIZE_THRESHOLD = 52428800
|
123 | 133 | );
|
124 | 134 | ```
|
125 | 135 |
|
126 |
| -### ่ชๅจ้็ปๆบๅถ |
127 |
| -- `COPY INTO` ๅ `REPLACE INTO` ่ชๅจ่งฆๅ้็ป |
128 |
| -- ๅฎๆ็ๆง้็พคๆๆ |
129 |
| -- ๅฝ `average_depth` ่ฟ้ซๆถๆง่ก้็ป |
| 136 | +### ่ชๅจ้ๆฐ่็ฐ |
| 137 | +- `COPY INTO` ๅ `REPLACE INTO` ไผ่ชๅจ่งฆๅ้ๆฐ่็ฐ |
| 138 | +- ๅฎๆ็ๆง่็ฐๆๆ |
| 139 | +- ๅฝ `average_depth` ่ฟ้ซๆถ้ๆฐ่็ฐ |
130 | 140 |
|
131 | 141 | ## ๆไฝณๅฎ่ทต
|
132 | 142 |
|
133 |
| -| ๅฎ่ทตๆนๆก | ๆถ็ | |
| 143 | +| ๅฎ่ทต | ็ๅค | |
134 | 144 | |----------|---------|
|
135 |
| -| **ไป็ฎๅผๅง** | ๅ
ไฝฟ็จๅๅ้็พค้ฎ | |
| 145 | +| **ไป็ฎๅๅผๅง** | ้ฆๅ
ไฝฟ็จๅๅ่็ฐ้ฎ | |
136 | 146 | | **็ๆงๆๆ ** | ๅฎๆๆฃๆฅ clustering_information |
|
137 |
| -| **ๆง่ฝๆต่ฏ** | ๅฏนๆฏ้็พคๅๅๆฅ่ฏข้ๅบฆ | |
138 |
| -| **ๅฎๆ้็ป** | ๆฐๆฎๅๆดๅ็ปดๆค้็พค็ถๆ | |
139 |
| -| **ๆๆฌ่้** | ้็พคๆไฝๆถ่่ฎก็ฎ่ตๆบ | |
| 147 | +| **ๆต่ฏๆง่ฝ** | ๅจ่็ฐๅๅๆต้ๆฅ่ฏข้ๅบฆ | |
| 148 | +| **ๅฎๆ้ๆฐ่็ฐ** | ๆฐๆฎๆดๆนๅไฟๆ่็ฐ | |
| 149 | +| **่่ๆๆฌ** | ่็ฐไผๆถ่่ฎก็ฎ่ตๆบ | |
140 | 150 |
|
141 | 151 | ## ้่ฆ่ฏดๆ
|
142 | 152 |
|
143 | 153 | :::tip
|
144 |
| -**้็จๅบๆฏ๏ผ** |
145 |
| -- ๅคง่กจ๏ผ็พไธ+่ก๏ผ |
146 |
| -- ๆฅ่ฏขๆง่ฝไฝไธ |
147 |
| -- ้ซ้ข่ฟๆปคๆฅ่ฏข |
| 154 | +**ไฝๆถไฝฟ็จ่็ฐ้ฎ:** |
| 155 | +- ๅคงๅ่กจ (ๆฐ็พไธ่กไปฅไธ) |
| 156 | +- ๆฅ่ฏขๆง่ฝๆ
ข |
| 157 | +- ้ข็นๅบไบ่ฟๆปคๅจ็ๆฅ่ฏข |
148 | 158 | - ๅๆๅๅทฅไฝ่ด่ฝฝ
|
149 | 159 |
|
150 |
| -**ไธ้็จๅบๆฏ๏ผ** |
151 |
| -- ๅฐ่กจ |
| 160 | +**ไฝๆถไธไฝฟ็จ:** |
| 161 | +- ๅฐๅ่กจ |
152 | 162 | - ้ๆบ่ฎฟ้ฎๆจกๅผ
|
153 |
| -- ้ข็นๅๆดๆฐๆฎ |
| 163 | +- ้ข็นๆดๆน็ๆฐๆฎ |
154 | 164 | :::
|
155 | 165 |
|
156 | 166 | ---
|
157 | 167 |
|
158 |
| -*้็พค้ฎๅฏนๅ
ทๆๅฏ้ขๆต่ฟๆปคๆจกๅผ็ๅคงๅ้ซ้ขๆฅ่ฏข่กจๆๆๆใๅปบ่ฎฎไปๆๅธธ็จ็WHEREๅญๅฅๅๅผๅงๅฎๆฝใ* |
| 168 | +*่็ฐ้ฎๅจๅ
ทๆๅฏ้ขๆต่ฟๆปคๆจกๅผ็ๅคงๅใ้ข็นๆฅ่ฏข็่กจไธๆๆๆใไปๆจๆๅธธ่ง็ WHERE ๅญๅฅๅๅผๅงใ* |
0 commit comments