Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как происходит удаление в огромной таблице? / 18 сообщений из 18, страница 1 из 1
12.02.2018, 12:35
    #39600528
дампер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
Запустил удаление в таблицы, примерно 50% от объема всей БД.

Но такое впечатление что ничего не происходит
...
Рейтинг: 0 / 0
12.02.2018, 12:36
    #39600529
дампер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
DBCC SQLPERF(LOGSPACE);

Сначала показывал что лог растет и % его использования.

Сейчас рост остановился.



Удаление еще не выполнелось. Висит уже очень давно.
...
Рейтинг: 0 / 0
12.02.2018, 12:37
    #39600531
дампер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
Свободное место в БД сначала тоже росло, сейчас свободное место не меняется уже минут 20.


К БД подключен 1 пользоватлель - я.
...
Рейтинг: 0 / 0
12.02.2018, 12:39
    #39600533
дампер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
блокировки отсутствуют.
...
Рейтинг: 0 / 0
12.02.2018, 12:40
    #39600534
дампер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
Сессия удаления висит в SUSPENDED
...
Рейтинг: 0 / 0
12.02.2018, 12:45
    #39600540
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
дамперСессия удаления висит в SUSPENDED
ну раз в ,suspended значит ждет.
смотрите, что именно ждет: sys.dm_os_waiting_tasks
но наверное, лог растет, а ждете зануление лога.

50% проще перелить с мининальным логированием,
удаление же всегда логируется полно
...
Рейтинг: 0 / 0
12.02.2018, 12:48
    #39600542
дампер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
Yasha123дамперСессия удаления висит в SUSPENDED
ну раз в ,suspended значит ждет.
смотрите, что именно ждет: sys.dm_os_waiting_tasks
но наверное, лог растет, а ждете зануление лога.

50% проще перелить с мининальным логированием,
удаление же всегда логируется полно


Тоже думаю уже перезалить (((



Ждет вот что:

PAGEIOLATCH_SH
...
Рейтинг: 0 / 0
12.02.2018, 12:52
    #39600546
дампер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
Yasha123,

Если тут ничео не выводит

Код: sql
1.
2.
SELECT * FROM sys.sql_expression_dependencies
WHERE referencing_id = OBJECT_ID(N'my_big_table'); 



Получается что зависимостей у теблицы нет и если из нее удалять - из других таблиц по внешним ключам не удаляется?
...
Рейтинг: 0 / 0
12.02.2018, 12:53
    #39600549
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
дамперЖдет вот что:

PAGEIOLATCH_SH
учитался значит
...
Рейтинг: 0 / 0
12.02.2018, 12:54
    #39600551
дампер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
Yasha123дамперЖдет вот что:

PAGEIOLATCH_SH
учитался значит

Не понял

Диск слабый, инфа 100%
...
Рейтинг: 0 / 0
12.02.2018, 12:55
    #39600554
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
дамперПолучается что зависимостей у теблицы нет и если из нее удалять - из других таблиц по внешним ключам не удаляется?
в плане можно посмотреть,
только эта таблица или еще что-то
...
Рейтинг: 0 / 0
12.02.2018, 13:02
    #39600561
дампер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
Yasha123дамперПолучается что зависимостей у теблицы нет и если из нее удалять - из других таблиц по внешним ключам не удаляется?
в плане можно посмотреть,
только эта таблица или еще что-то

Хорошая идея.

Но пока удаление идет не дает удалить даже одну строчку и даже в другом диапазоне (
...
Рейтинг: 0 / 0
12.02.2018, 13:06
    #39600566
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
зачем еще что-то удалять,
когда надо всего лишь глянуть план?
---
учитался = много с диска читает, ожидания на чтении и диска
...
Рейтинг: 0 / 0
12.02.2018, 13:07
    #39600568
дампер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
Yasha123зачем еще что-то удалять,
когда надо всего лишь глянуть план?
---
учитался = много с диска читает, ожидания на чтении и диска


Отменил запрос.

Затем кильнул сессию.


Пока блокировка висит.

Жду ролбэка. Чтобы 1 строчку удалить. И план глянуть.
...
Рейтинг: 0 / 0
12.02.2018, 13:14
    #39600573
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
дамперYasha123зачем еще что-то удалять,
когда надо всего лишь глянуть план?
---
учитался = много с диска читает, ожидания на чтении и диска


Отменил запрос.

Затем кильнул сессию.


Пока блокировка висит.

Жду ролбэка. Чтобы 1 строчку удалить. И план глянуть.
заставь *** богу молиться, он лоб расшибет
...
Рейтинг: 0 / 0
12.02.2018, 13:16
    #39600578
дампер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
Yasha123дамперпропущено...



Отменил запрос.

Затем кильнул сессию.


Пока блокировка висит.

Жду ролбэка. Чтобы 1 строчку удалить. И план глянуть.
заставь *** богу молиться, он лоб расшибет


АХАХАХХААХАХАХАХАХАХА!!! жжешь.
...
Рейтинг: 0 / 0
12.02.2018, 13:48
    #39600600
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
дампер, удаляйте порциями по 1-3 млн записей, иначе наступите на конкуренцию за диск между сбросом буфера на диск и чтениями.
...
Рейтинг: 0 / 0
12.02.2018, 13:57
    #39600603
Тяп-ляп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как происходит удаление в огромной таблице?
Вот тебе скрипт посмотреть план:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
/*
запросы,  СЕЙЧАС выполняющиеся. План - крайняя колонка слева.
*/
SELECT
	 p.query_plan
	, req.command command_type
	, sqltext.TEXT command_text
	, SUBSTRING(sqltext.text,  (req.statement_start_offset/2) + 1,
        ((CASE req.statement_end_offset
          WHEN -1 THEN DATALENGTH(sqltext.text)
         ELSE req.statement_end_offset
         END - req.statement_start_offset)/2) + 1) AS statement_text
	, db_name(req.database_id) db_name
	, req.session_id
	, req.blocking_session_id
	, req.status as req_status
	, req.cpu_time req_cpu_time_ms
	, ses.cpu_time ses_cpu_time_ms
	, req.total_elapsed_time / 1000.0 AS req_elapsed_sec
	, ses.original_login_name
	, ses.host_name
	, ses.program_name
	, ses.host_process_id
	, ses.client_interface_name
	, ses.memory_usage
	, ses.reads
	, ses.writes
	, ses.logical_reads
FROM sys.dm_exec_requests AS req with(nolock)
   JOIN sys.dm_exec_sessions AS ses with(nolock) on req.session_id = ses.session_id
   CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext 
   CROSS APPLY	sys.dm_exec_query_plan(req.plan_handle) AS p
WHERE 1 = 1
   and req.database_id > 4
   and req.session_id <> @@SPID
   -- AND req.session_id = 78                   -- задать SPID
   -- AND ses.[host_name] = 'SRV-01'            -- задать хост
ORDER BY req.total_elapsed_time DESC
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как происходит удаление в огромной таблице? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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