Что лучший способ состоит в том, чтобы удалить всю большую таблицу в t-sql?

Наконец-то нашли решение проблемы.

Вы можете объявить новый тип и ссылаться на него в typeDef для схемы GraphQL.

В модели mongoose вы можете ссылаться на нее как {type: Array}

14
задан Ben 16 July 2014 в 16:06
поделиться

6 ответов

TRUNCATE таблица или отключение индексов перед удалением

TRUNCATE TABLE [tablename]

Усечение приведет к удалению всех записей из таблицы без регистрации каждого удаления в отдельности.

20
ответ дан 1 December 2019 в 07:41
поделиться

1) Усеченная таблица

2) сценарий из таблицы, удаление и повторное создание таблицы

4
ответ дан 1 December 2019 в 07:41
поделиться

Чтобы добавить к другим ответам, если вы хотите сохранить данные за прошлый день (или прошедший месяц или год или что-то еще), затем сохранить их, выполните таблицу TRUNCATE TABLE, а затем вставьте ее обратно в исходную таблицу:

SELECT
     *
INTO
     tmp_My_Table
FROM
     My_Table
WHERE
     <Some_Criteria>

TRUNCATE TABLE My_Table

INSERT INTO My_Table SELECT * FROM tmp_My_Table

Следующее, что нужно сделать, это спросить себя, почему вы вставляете всю эту информацию в журнал, если никто не заботится об этом. Если вам это совсем не нужно, отключите ведение журнала у источника.

7
ответ дан 1 December 2019 в 07:41
поделиться
TRUNCATE TABLE [tablename]

удалит все записи без регистрации.

2
ответ дан 1 December 2019 в 07:41
поделиться

В зависимости от того, сколько вы хотите сохранить, вы можете просто скопировать записи, которые вы хотите, во временную таблицу, обрезать таблицу журнала и скопировать записи временной таблицы обратно в таблицу журнала.

2
ответ дан 1 December 2019 в 07:41
поделиться

Если вы можете определить оптимальный x, он будет постоянно зацикливаться на удалении с максимальной скоростью. Установка количества строк ограничивает количество записей, которые будут удаляться на каждом этапе цикла. Если файл журнала становится слишком большим; вставьте счетчик в цикл и обрежьте каждый миллион строк или около того.

set @@ rowcount x пока 1 = 1 Начните

удалить из таблицы Если @@ Rowcount = 0 break

End

Измените режим ведения журнала на БД на простой или массовый журнал, что уменьшит некоторые накладные расходы на удаление.

0
ответ дан 1 December 2019 в 07:41
поделиться
Другие вопросы по тегам:

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