Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Долгое удаление / 6 сообщений из 6, страница 1 из 1
03.09.2020, 18:58
    #39995337
BlackEric
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгое удаление
Код: sql
1.
2.
3.
4.
5.
6.
Delete from Table
Where ID in
(
Select top 500 ID from Table
Where TypeID = 'EA2A1DE5-B96E-48B2-9CCD-BDBB5ECA0072'
)



В таблице около 10 млн записей.
Запрос отрабатывает более 18 минут. Индексы перестроил. По полю TypeID индекс есть.

Почему так долго? Что посмотреть?
Общий размер бд около терабайта. Других пользователей нет. В этой таблице блобов нет.
Ms sql 2017.
...
Рейтинг: 0 / 0
03.09.2020, 19:00
    #39995338
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгое удаление
Top без order by всегда выглядит мило.

BlackEricЧто посмотреть?Для начала -- план выполнения запроса.
...
Рейтинг: 0 / 0
03.09.2020, 19:10
    #39995343
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгое удаление
Гавриленко Сергей Алексеевич
Top без order by всегда выглядит мило.

BlackEricЧто посмотреть?
Для начала -- план выполнения запроса.

Сначала - следует запрос написать по-человечески

Код: sql
1.
Delete top(500) from Table Where TypeID = 'EA2A1DE5-B96E-48B2-9CCD-BDBB5ECA0072'
...
Рейтинг: 0 / 0
03.09.2020, 19:22
    #39995347
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгое удаление
BlackEric,

запрос жесткий - сначала надо просканировать всю таблицу, затем соединить эту же таблицу с результатом, затем удалить данные и обновить все индексы, которые Вы там создали. Правильно, солдат не должен сидеть без дела.
...
Рейтинг: 0 / 0
03.09.2020, 19:33
    #39995352
BlackEric
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгое удаление
Гавриленко Сергей Алексеевич,

Спасибо.
План показал, что нужно добавить индекс на совсем другую таблицу. После этого удалилось быстро. Проблема решена.

Но почему? Это так внешние ключи влияют получается?
...
Рейтинг: 0 / 0
03.09.2020, 20:07
    #39995362
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгое удаление
BlackEric
Но почему? Это так внешние ключи влияют получается?
Само собой. При удалении надо проверять, что связь не будет нарушена. Или удалять, если каскады включены.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Долгое удаление / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]