Чистка существующей таблицы
через
delete from where
создание новой вставка данных и удаление старой
insert into select from where
Есть у нас спецы по MS SQL?
Не знаю что за база симпл но при существенном объеме данных которые нужно удалить и незначительном остатке дроп будет быстрее. Проверено.
гыгы, ухтинская мразь знатно обосралась ;)
это тебе не насрального пиарить.
вот тебе лучше рубанок новый...
Ты же изначально иначе ставил задачу - как быстрее честить таблицу, верно?
Курильщик [...] изо рта вынь
и только шмондер общается на высшем уровне ;) бугагага...
про низость уровня ничего не было написано, но гукЪ всё сам понимает
Луч света на одном уровне общаются гук и курильщик
Это же прекрасно!
(20) ему нечем изучать. у него вся голова на фюрера-нсрального заточена...
(22) а чему ты удивляешься? это мудило может работать только за гранты, в IT он вообще не шарит...
вопрос
Что быстрее на уровне MS SQL
Чистка существующей таблицы
через
delete from where
создание новой вставка данных и удаление старой
insert into select from where
Есть у нас спецы по MS SQL?
ответ.
Курильщик Дроп быстрее. Не всегда возможен
тебя не устроил мой ответ, зачем вся остальная токсичная херня.
одно дело когда адовый дебиловатый мудак guk так себя ведет другое дело ты, нахера тебе это?
(30) тестил, правда давно, но записей были миллионы
У ms sql нет разве чего нибудь типа explain plan? Наверняка ведь что то есть аналогичное
Курильщик мудак
Fynjy там точно есть зубры в этом вопросе
Есть
думаю, дроп полюбас быстрее, независимо от модели
Fynjy создание новой вставка данных и удаление старой
Зависит от объема вставляемых данных.
Возможно, и через delete быстрее будет.
(0) однозначно delete медленней.
В разы
Я тут как раз сворачивал регистр бухгалтерии общим объемом в миллиард строк - с инсертом и дропом в пару-тройку часов уложилось
А truncate?
(42) Тогда через drop быстрее будет.
(44) не просто дроп
create
select
insert
drop
(44) нет
Но если число удаляемых строк большое — особенно когда оно составляет большую долю строк таблицы, удаление с полной записью операции в журнале будет слишком медленным. В этом случае стоит подумать об использовании операции неполного протоколирования, такой как SELECT INTO, для копирования уникальных строк (с номером 1) в другую таблицу. После этого оригинальная таблица удаляется, затем новой таблице присваивается имя удаленной таблицы, воссоздаются ограничения индексы и триггеры.
https://professorweb.ru/my/sql-server/window-functions/level3/3_5.php
SQL не заточен на удаление записей
https://itdemka.ru/pubs/1139.html
готовое решение
(47) не качается готовое решение
Скачал готовое решение посмотрю
(52) в выходной буду резать проведу эксперимент для самой большой таблице на 15 гиг
(52) Тут однозначного ответа быть не может. Зависит от пропорции оставшихся/удаляемых записей, наличия и пригодности индексов, модели базы. Как человек ленивый, я предпочитаю использовать delete, там писать руками надо меньше, но желательно уметь по-всякому. Дабы если заказчик потребовал сделать строго по-своему, суметь выполнить задачу.
К ленивости плюс 1 )