Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Быстродействие при удалении  [new]
i-n-d-e-x
Member

Откуда:
Сообщений: 31
Господа,
В СУБД MSSQL 2012 standart
есть таблица [table]
id [bigint]
,TimeStamp DateTime
Data float
у таблицы есть кластированный индекс по ID и TimeStamp
Размер таблицы 220 000 000 записей.
Запросом
delete from table where TimeStamp < '20140319'

данные за ОДИН самый древний день, около 300 000 записей, удаляются 30 минут.
Как ускорить?
27 авг 14, 19:30    [16503312]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
aleks2
Guest
А куды торопитесь?
27 авг 14, 19:33    [16503324]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
Сделать индекс по TimeStamp, чтобы каждый день не сканить 220кк записей.

А еще можно почитать, как организовать Sliding Window Partitioning.

Сообщение было отредактировано: 27 авг 14, 19:48
27 авг 14, 19:47    [16503395]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
i-n-d-e-x
Member

Откуда:
Сообщений: 31
select count(*) from table where TimeStamp < '20140319'
исполняется 5 секунд
27 авг 14, 19:52    [16503419]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
Показывайте план запроса на удаление тогда.
27 авг 14, 19:55    [16503437]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
invm
Member

Откуда: Москва
Сообщений: 9724
i-n-d-e-x
select count(*) from table where TimeStamp < '20140319'
исполняется 5 секунд
И вы делаете вывод, что удаление тоже должно 5 сек. выполняться?
27 авг 14, 19:56    [16503444]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
i-n-d-e-x
Member

Откуда:
Сообщений: 31
Вопрос решен.
Сначала id записей к удалению в таблицу #temp
затем delete from table where id in (select id from #temp)
30 секунд. Объяснить не могу.
27 авг 14, 20:16    [16503522]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
i-n-d-e-x
Объяснить не могу.
А вот план выполнения запроса мог бы.
27 авг 14, 20:31    [16503559]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
i-n-d-e-x
Member

Откуда:
Сообщений: 31
он просто гигантский. Куча join и целый МКАД линий. В обоих случаях.
27 авг 14, 20:49    [16503594]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
Glory
Member

Откуда:
Сообщений: 104751
i-n-d-e-x
он просто гигантский. Куча join и целый МКАД линий. В обоих случаях.

Какие могут быть join-ы при удалении из одной таблицы ?
27 авг 14, 21:44    [16503714]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
i-n-d-e-x
Member

Откуда:
Сообщений: 31
сам удивляюсь.
28 авг 14, 05:40    [16504503]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
step_ks
Member

Откуда:
Сообщений: 936
Glory
i-n-d-e-x
он просто гигантский. Куча join и целый МКАД линий. В обоих случаях.

Какие могут быть join-ы при удалении из одной таблицы ?

Проверки FK, перестроение indexed view.
28 авг 14, 07:12    [16504560]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
Glory
Member

Откуда:
Сообщений: 104751
i-n-d-e-x
сам удивляюсь.

Я думаю, что вы просто не знаете, какое место занимает ваша таблица(а может это не таблица ?) в вашей схеме данных.
28 авг 14, 11:26    [16505689]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
i-n-d-e-x
Member

Откуда:
Сообщений: 31
Программа конечно не моя. Но удалят данные надо мне. А что делать? и так уже размер базы > 112Gb
28 авг 14, 21:01    [16509508]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
Glory
Member

Откуда:
Сообщений: 104751
i-n-d-e-x
А что делать?

Сидеть и ждать.
28 авг 14, 21:20    [16509556]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
i-n-d-e-x
Member

Откуда:
Сообщений: 31
Ну конечно....
28 авг 14, 21:31    [16509579]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие при удалении  [new]
i-n-d-e-x
Member

Откуда:
Сообщений: 31
Сорри. Сразу не заметил :)
28 авг 14, 21:36    [16509588]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить