Clickhouse : Test 2

Soumis par jpp le dim 04/09/2022 - 19:17

Cet ordre SQL devait me permettre de voir s'il y avait des trous de numérotation dans les valeurs du champ "idx".
Il m'a valu de nombreux ennuis avant que la mémoire ne soir "gonflée" avec de méchants messages :
Received exception from server (version 22.8.2):
Code: 241. DB::Exception: Received from localhost:9000. DB::Exception: Memory limit (total) exceeded: would use 3.73 GiB (attempt to allocate chunk of 537537181 bytes), maximum: 3.48 GiB. OvercommitTracker decision: Query was selected to stop by OvercommitTracker.: While executing AggregatingTransform. (MEMORY_LIMIT_EXCEEDED)

L'ordre est très simple :
select min(idx),max(idx), count(distinct idx) from flowsv4;

Dès que la RAM a été "suffisante" (plus de 24Go de RAM) ces messages ont disparu et les résultats sont là et bien là.

1) Résultats Clickhouse.

┌─min(idx)─┬──max(idx)─┬─uniqExact(idx)─┐
│        1 │ 488553902 │      488521496 │
└──────────┴───────────┴────────────────┘
1 row in set. Elapsed: 27.822 sec. Processed 488.52 million rows, 3.91 GB (17.56 million rows/s., 140.47 MB/s.)

2) Résultats MariaDB.

+----------+-----------+---------------------+
| min(idx) | max(idx)  | count(distinct idx) |
+----------+-----------+---------------------+
|        1 | 488553902 |           488521496 |
+----------+-----------+---------------------+
1 row in set (5 min 42,522 sec)

3) Résultat final.
27 secondes contre 342 soit environ 13 fois plus vite.