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

Ребят ,всем привет. Вопрос. Почему DELETE FROM выполняется дольше (

в раз 30 ) чем UPDATE ?
Таблица оч большая, делаю UPDATE или DELETE по полю без индекса
postgres 15

17 ответов

34 просмотра

А план что показывает?

Keklick- Автор вопроса
Keklick
что за план?)

Ну не тот, что в горах)))

Keklick- Автор вопроса
Konstantin
Ну не тот, что в горах)))

это? \dt+ public | tg_filedata_new | table | postgres | permanent | heap | 34 MB | \d tg_filedata_new Table "public.tg_filedata_new" Column | Type | Collation | Nullable | Default ---------------------+--------------------------+-----------+----------+--------------------------------------------- id | bigint | | not null | nextval('tg_filedata_new_id_seq'::regclass) file_unique_id | character varying | | not null | file_name | character varying | | | message_id | bigint | | not null | chat_id | bigint | | not null | downloaded_filename | character varying | | | size | bigint | | | message_text | character varying | | | pubdate | timestamp with time zone | | | now() status | integer | | not null | unpacked | character varying | | | unpack_password | character varying | | | returncode | integer | | | Indexes: "tg_filedata_new_pkey" PRIMARY KEY, btree (id) "tg_filedata_new_file_unique_id_key" UNIQUE CONSTRAINT, btree (file_unique_id) Referenced by: TABLE "passwordstxt_list" CONSTRAINT "passwordstxt_list_source_id_fkey" FOREIGN KEY (source_id) REFERENCES tg_filedata_new(id)

Keklick- Автор вопроса
Konstantin
Explain

QUERY PLAN -------------------------------------------------------------------------- Delete on tg_filedata_new (cost=0.00..5547.10 rows=0 width=0) -> Seq Scan on tg_filedata_new (cost=0.00..5547.10 rows=298 width=6) Filter: (status = 2) (3 rows)

Keklick
QUERY PLAN -------...

Так, и теперь для апдейта, но наверное после форин ки лишнее

Keklick- Автор вопроса
Konstantin
Так, и теперь для апдейта, но наверное после форин...

QUERY PLAN --------------------------------------------------------------------------- Update on tg_filedata_new (cost=0.00..5547.10 rows=0 width=0) -> Seq Scan on tg_filedata_new (cost=0.00..5547.10 rows=298 width=10) Filter: (status = 2) (3 rows)

Keklick
QUERY PLAN -------...

Да, это форин ки

Keklick- Автор вопроса
Konstantin
Да, это форин ки

а можно ли его как то игнорировать? Просто там них*я нет по тем записям, что я удаляю)

Keklick
а можно ли его как то игнорировать? Просто там них...

Можно отключить, но если его кто-то создал, значит есть вероятность, что консистентность данных нужна

Keklick- Автор вопроса
Konstantin
Можно отключить, но если его кто-то создал, значит...

я и создавал 😃 Она и нужна))) Но просто у файлов со status = 2 (это типо ошибка в проекте) там нифига нет всё равно

Keklick- Автор вопроса
Konstantin Zaitsev
Там индекс что есть по fk?

бля))) Спасибо, сча сделаю p.s. я дурак)

Keklick
бля))) Спасибо, сча сделаю p.s. я дурак)

Сообщение подправьте, пожалуйста

Keklick- Автор вопроса
Konstantin Zaitsev
Там индекс что есть по fk?

всё, с индексом моментально стало)

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

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

а через 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
Карта сайта