Медленно "работает" таблица

eXeLe
Дата: 05.02.2013 17:50:17
Есть таблица. Не так много полей, не так много данных, кластерный индекс по ID полю.
В таблице более 100,000 записей, что не так много (есть таблицы и понагруженней и побольше в разы).
При попытке удалить все записи из таблицы - запрос завис на долгое время. прервал, начал удалять по ограничению по ID по несколько тысяч записей - иногда удаляет за пару секунд, иногда очень долго (что проще прервать и удалить два раза по тысяче).
Таками темпами порой и по 10 записей с трудом удаляет.
Сделал селект первой тысячи записей - тоже мучительно медленная реакция.
Сам сервер больше ничем не нагружен (база восстановлена из бэкапа на другом сервере).
sp_fkeys по данной таблице ничего не возвращает (увидел совет проверить тут же на форуме)
Пробовал смотреть Dependencies - там в списке несколько уже несуществующих таблиц.
Это может быть причиной? Или что еще может быть причиной таких аномальных тормозов таблицы, где и что смотреть?
alexeyvg
Дата: 05.02.2013 17:56:25
eXeLe
Или что еще может быть причиной таких аномальных тормозов таблицы, где и что смотреть?
Начните с причины торможения, посмотрите, что мешает - для этого нужно посмотреть план и стоимость удаления + блокировки в момент удаления (в момент тормозов)
eXeLe
Дата: 05.02.2013 18:00:42
в плане лишь CLUSTERED INDEX DELETE 100% и собссно DELETE
alexeyvg
Дата: 05.02.2013 18:02:57
eXeLe
в плане лишь CLUSTERED INDEX DELETE 100% и собссно DELETE
Ну а стоимость как5ая, сколько страниц и цпу, цпу и дюрэйшен сильно отличаются?
Гость333
Дата: 05.02.2013 18:08:08
eXeLe
В таблице более 100,000 записей, что не так много

И часто из таблицы удаления были? Может, там много неиспользуемых страниц данных? Что возвращает sp_spaceused 'ИмяТаблицы'?

eXeLe
удалить все записи из таблицы

TRUNCATE не подходит?
eXeLe
Дата: 06.02.2013 09:20:27
alexeyvg
Ну а стоимость как5ая, сколько страниц и цпу, цпу и дюрэйшен сильно отличаются?

alexeyvg,
удалил 10.000 строк за 14 минут (удивился, что вообще удалилось)
I/O Cost: 26.9
CPU Cost: 0.011
Operation Cost: 29.9

Гость333
TRUNCATE не подходит?

надо будет попробовать.
_ч_
Дата: 06.02.2013 11:42:36
eXeLe
Сделал селект первой тысячи записей - тоже мучительно медленная реакция.


А операция select сколько по-времени у Вас длится? План какой? Clustered index scan?
Уверены, что нет триггеров на delete на таблице?
eXeLe
Дата: 06.02.2013 11:53:45
_ч_
eXeLe
Сделал селект первой тысячи записей - тоже мучительно медленная реакция.


А операция select сколько по-времени у Вас длится? План какой? Clustered index scan?
Уверены, что нет триггеров на delete на таблице?

Триггеров у данной таблицы вообще никаких нет
Select на 1000 первых записей - больше двух минут. А плане Clustered index scan.

проверил другую рандомную таблицу - время селекта 1000 записей - меньше секунды.
Crimean
Дата: 06.02.2013 11:58:37
а структурку таблички покажите?
Гость333
Дата: 06.02.2013 12:07:28
eXeLe
Select на 1000 первых записей - больше двух минут.

sp_spaceused покажете? Может, в этой вашей таблице мильён ghost records.