Size: a a a

ClickHouse не тормозит

2020 September 24

DC

Denny Crane [not a Y... in ClickHouse не тормозит
ну нет, там блоки просто едут по pipeline, там и push и poll и все вместе
источник

N

Nikolay in ClickHouse не тормозит
хотя нет. там наверное if написали для этого случия
источник

N

Nikolay in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
ну нет, там блоки просто едут по pipeline, там и push и poll и все вместе
а пуш в какой момент бывает?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Nikolay
а пуш в какой момент бывает?
источник

D

Dj in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
pg

SELECT distinct * FROM generate_series(1,10000) limit 3;;
generate_series
-----------------
            251
           2848
           3565


SELECT distinct * FROM generate_series(1,1000000000) limit 3;
тутутуттут
....
....

ERROR:  temporary file size exceeds temp_file_limit (1025563kB)
оракл умеет со старым подходом, но с новыми FETCH FIRST X ROWS ONLY тоже не умеет... (полнейшая деградация после в.11)
SQL_ID  8vu37j3ryfbc6, child number 0
-------------------------------------
select MYID from ( SELECT /*+ gather_plan_statistics */ /* queryA*/
DISTINCT MYID FROM TABLENAME ) where rownum<5

Plan hash value: 603119986

------------------------------------------------------------------------------------------------------------------------
| Id  | Operation             | Name      | Starts | E-Rows | A-Rows |   A-Time   | Buffers |  OMem |  1Mem |  O/1/M   |
------------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT      |           |      2 |        |      8 |00:00:00.32 |   29582 |       |       |          |
|*  1 |  COUNT STOPKEY        |           |      2 |        |      8 |00:00:00.32 |   29582 |       |       |          |
|   2 |   VIEW                |           |      2 |  44248 |      8 |00:00:00.32 |   29582 |       |       |          |
|*  3 |    SORT UNIQUE STOPKEY|           |      2 |  44248 |      8 |00:00:00.32 |   29582 |  2048 |  2048 |     2/0/0|
|   4 |     TABLE ACCESS FULL | TABLENAME |      2 |    246K|    492K|00:00:00.24 |   29582 |       |       |          |
------------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

  1 - filter(ROWNUM<5)
  3 - filter(ROWNUM<5)

SQL_ID  5c508nufubfhc, child number 0
-------------------------------------
select MYID from ( SELECT /*+ gather_plan_statistics */ /* queryB*/
DISTINCT MYID FROM TABLENAME ) where rownum<500000

Plan hash value: 603119986

------------------------------------------------------------------------------------------------------------------------
| Id  | Operation             | Name      | Starts | E-Rows | A-Rows |   A-Time   | Buffers |  OMem |  1Mem |  O/1/M   |
------------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT      |           |      1 |        |    501 |00:00:00.22 |   14791 |       |       |          |
|*  1 |  COUNT STOPKEY        |           |      1 |        |    501 |00:00:00.22 |   14791 |       |       |          |
|   2 |   VIEW                |           |      1 |  44248 |    501 |00:00:00.22 |   14791 |       |       |          |
|*  3 |    SORT UNIQUE STOPKEY|           |      1 |  44248 |    501 |00:00:00.22 |   14791 |  2250K|  1337K|     1/0/0|
|   4 |     TABLE ACCESS FULL | TABLENAME |      1 |    246K|    246K|00:00:00.11 |   14791 |       |       |          |
------------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

  1 - filter(ROWNUM<500000)
  3 - filter(ROWNUM<500000)
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
ну вообще менять цель оптимизации с all_rows на first_rows если в запросе есть limit умеет только mysql , остальные тупо забивают на limit
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
тот же 11й оракл делал HJ вместо NL хоть и написано limit 1 и при NL моментальный результат
источник

D

Dj in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
тот же 11й оракл делал HJ вместо NL хоть и написано limit 1 и при NL моментальный результат
гораздо хуже когда обратное происходит )
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
да, оптимизаторы это сплошное страдание, пришла тетя Аня раньше тети Оли, выполнила свой запрос при f= ?  (0) , план запомнили, потом весь день все будут страдать потому что у них f=1 и план надо другой. -- реальная история из жизни
источник

N

Nikolay in ClickHouse не тормозит
интересно почему он только через SORT может в этом случае
источник

D

Dj in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
да, оптимизаторы это сплошное страдание, пришла тетя Аня раньше тети Оли, выполнила свой запрос при f= ?  (0) , план запомнили, потом весь день все будут страдать потому что у них f=1 и план надо другой. -- реальная история из жизни
а когда лечат это магией под названием peek bind variables, все становится ещё больнее....
источник

D

Dj in ClickHouse не тормозит
а как при переимновании replicatedmt поменять путь в ЗК (для консистентности)?
источник

D

Dj in ClickHouse не тормозит
Nikolay
интересно почему он только через SORT может в этом случае
HASH GROUP BY  Не имеет стопкей
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Dj
а как при переимновании replicatedmt поменять путь в ЗК (для консистентности)?
ну никак
источник

D

Dj in ClickHouse не тормозит
ооооооок
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
кмк в ZK вообще нельзя переименовать узел
источник

N

Nikolay in ClickHouse не тормозит
Dj
HASH GROUP BY  Не имеет стопкей
это и интересно почему не имеет. может такое нельзя сделать, но вроде с первого взгляда не видно логических ограничений на это.
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Nikolay
это и интересно почему не имеет. может такое нельзя сделать, но вроде с первого взгляда не видно логических ограничений на это.
там результат собирается на самой последней стадии, когда все бины уже готовы
источник

D

Dj in ClickHouse не тормозит
Dj
да,  на месячных партициях  toDate() с двух сторон не работает.
говорил я всем, пишите column>=mindate and column<maxdate...
@den_crane это баг или фича?
источник

N

Nikolay in ClickHouse не тормозит
Можно пробросить туда stop key. И условно как появилось N записей в мапе. Идём к следующей стадии.
источник