гигабайт, удаляются данные по столбцу который есть в индексе
долгий - больше 2 часов
запрос вида
delete from table_a where id not in (select id from table_b)
в обоих таблицах индексы на id есть
Попробуйте where not exists
действительно намного больше стала утилизация железа странно что такая разница, но в любом случае спасибо
20 гб? там сколько записей? 0_o
много) 101378087 estimated total rows
DELETE не truncate, он и должен быть долгим... но если отвечать на ваш вопрос, то могут например блокировки быть причиной
там ерунда какая то была, почему то диск занят был на 100 кб/с
ну вот я запускал запрос такой: https://t.me/pgsql/361391 смотрел через atop и видел что диск занят на 0,1 мб/с заменил not in на not exists и щас бодренько по 200 мб/с все летит
🤣Бодренько вы определяете по чтению с диска ?)) Любопытно))) То есть если выполняете запрос с "not in" то чтение с диска 100 кб/с а если с "not exists" то 200 мб/с ?)
а вот не знаю как еще) я не профи, увы)
Ну вы бы план запроса построили да посмотрели на него уже) https://postgrespro.ru/docs/postgrespro/13/using-explain
Обсуждают сегодня