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

А может кто-то подсказать из-за чего upsert такой долгий? Загоняю

3к строк, сама строчка upsert'a отрабатывает за 3.6 секунды, хотя сам запрос на вставку выполняется за 259мс

13 ответов

19 просмотров

как ты строчку upsert'a замерял?

Никто не спросил - сколько у тебя там записей? Если много, то может на чанки разбивать

upsert это всегда расточительно. он же проходится по всем записям или индексу, что бы чекнуть существует запись или нет

为什么要翻译-. Автор вопроса
PSYTRGLES
upsert это всегда расточительно. он же проходится ...

Так проверку и вставку берет на себя БД, в моем случае это MySql и ресолвится это все с помощью ON DUPLICATE KEY, разве не так? А задача upserta создать этот запрос

为什么要翻译-. Автор вопроса
PSYTRGLES
ты о чем? я о самом запросе

А, не так понял видимо, я подумал именно про сам метод upsert'a

0.3 секунды это медленно на 3к записей, для работы через web интерфейс вроде как ничего

为什么要翻译-. Автор вопроса
Egor Gruzdev
0.3 секунды это медленно на 3к записей, для работы...

А как можно сделать еще быстрее? Просто планируется постоянные вставки/апдейта большого кол-во строк, это время выполнения на пустую таблицу с уникальным индексом на два поля

为什么要翻译 .
А как можно сделать еще быстрее? Просто планируетс...

перенести в очереди, а пользователю вывести статус обработки запроса, какой бы мощный не был сервер, когда выйдете на нагрузку все равно к этому придете

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта