184 похожих чатов

Всем привет! Подскажите, пожалуйста, на каком уровне делать “select last from

primary key”? У меня таблица с движком ReplacingMergeTree, при этом очень редко хочется делать апдейт записи. Для этого мы добавили поле “время создания записи”, которое не является частью праймариКлюча. Соответственно добавляем запись с тем же ключом, но поздним “временем создания” и получаем по сути “апдейт”. Но запрос на даннные может прилететь в момент когда ключи ещё не схлопнулись.

И вот я думаю как бы написать запрос, который сделал бы мне “group by primary key” and “select last by {row_created_time}” after. Но так чтобы без group by(потому что наверно не быстро это будет). И делать ли эту логику на уровне запроса или на уровне приложеничя уже?

6 ответов

12 просмотров

Добрый вечер, вы уверены, что останется запись с максимальным "временем создания записи", а не рандомная? Я тестил и натыкался, что удаляется какая-то запись. select pk1, pk2, argmax(date, value) from table

pronvis- Автор вопроса

Либо select argMax Либо select ... Order by pk, time desc limit 1 by pk Либо select from final

Если очень редко хочется делать апдейт, мб стоит посмотреть на [Versioned]CollapsingMergeTree?

pronvis- Автор вопроса
pronvis
что такое from final?

Это схлопывание на лету

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
70
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
25
Книга Юрова В.И пойдёт для обучения?
Botsman
24
Люди добрые, помогите с идеями, потому что свои закончились. У клиента падает софтина в момент инициализации модуля OtlEventMonitor на RegisterWindowMessage('Gp/OtlTaskEvents/...
Михаил Усков
7
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
> Примечательно, что новый владелец удаляет из GitHub любые жалобы, указывающие на подозрительную активность или смену владельца, и, видимо, рассчитывает на то, что пользовате...
Alex Sherbakov
2
GridView fully ignored first parent(SizedBox), and take width from second parent(Container). How can I constrain GridView by first parent? Widget build(BuildContext context) {...
Hamster
1
Hey there Which is the best Linux destro for developers (coding)? To my research on reddit, they said Linux mint is good for mid level spec and Ubuntu for high Lev hardwar...
Wiz 🪄
11
Подскажите пожалуйста, а я могу вот такую штуку использовать? rpc, только реализованное в реббите https://www.rabbitmq.com/tutorials/tutorial-six-php ( или https://habr.com/ru...
Artyom
11
И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
Карта сайта