Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Оптимизация при удалении данных из таблицы / 25 сообщений из 26, страница 1 из 2
15.03.2019, 11:32
    #39786516
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Добрый день!
Есть таблица размер 1 Гб, размер индексов 20Мб(4 индекса).
Табилца отвечает за отправку сообщений по почте, после отправки удаляет поля.
Проблема в том что индексы устаревают на 90% после 30 минут работы. Создается большое время ожидания в обращениях.
План приложенил. Время ожидания в день составляет около 7 часов.
Почитал по удалению, не могу понять как можно оптимизировать такой быстро меняющийся поток:(
...
Рейтинг: 0 / 0
15.03.2019, 11:38
    #39786521
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Den_KP,

"Создается большое время ожидания в обращениях." у вас куча и скан, удёления ждут друг друга и вставки соотвественно
...
Рейтинг: 0 / 0
15.03.2019, 11:40
    #39786524
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Den_KPПроблема в том что индексы устаревают на 90% после 30 минут работы.Как это "индексы устаревают"?
Индексы у вас всегда свеженькие, обновление индексов происходит прямо в транзакции обновления данных.

Den_KPСоздается большое время ожидания в обращениях.
План приложенил.Для такого запроса можно и хинт указать.
tps_guid уникальный или как?
Лучше, конечно, приложить план (не estimated) в формате sqlplan, и скрипт создания таблицы с индексами.
...
Рейтинг: 0 / 0
15.03.2019, 11:42
    #39786526
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Если результатом скана будет одно значение, тогда стоит ли использовать index seek?
...
Рейтинг: 0 / 0
15.03.2019, 11:45
    #39786529
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Den_KPЕсли результатом скана будет одно значение, тогда стоит ли использовать index seek?
что?
...
Рейтинг: 0 / 0
15.03.2019, 11:50
    #39786536
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Den_KPЕсли результатом скана будет одно значение, тогда стоит ли использовать index seek?Если в таблице 3 записи, то стоит.

Повторю ещё раз:
alexeyvgЛучше, конечно, приложить план (не estimated) в формате sqlplan, и скрипт создания таблицы с индексами.
...
Рейтинг: 0 / 0
15.03.2019, 11:51
    #39786539
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
alexeyvg,

С хинтами сложнее, запрос зашит в прикладе, поэтому нужно по-возможности реализовать на уровне БД, а если это не поможет тогда уже собрать аналитику и выкатывать рекомендацию разработчикам.
tps_guid - PK и уникальный.
Файлs вложил.
...
Рейтинг: 0 / 0
15.03.2019, 12:00
    #39786547
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Den_KPalexeyvg,

С хинтами сложнее, запрос зашит в прикладе, поэтому нужно по-возможности реализовать на уровне БД, а если это не поможет тогда уже собрать аналитику и выкатывать рекомендацию разработчикам.
tps_guid - PK и уникальный.
Файлs вложил.
смотрите в свои функции на контрейнах, они вызывают скан
...
Рейтинг: 0 / 0
15.03.2019, 12:05
    #39786554
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
точнее нет там функций :)
FK сам на себя
...
Рейтинг: 0 / 0
15.03.2019, 12:08
    #39786557
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
FK который tps_copy_with_guid?
...
Рейтинг: 0 / 0
15.03.2019, 12:08
    #39786558
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Den_KPFK который tps_copy_with_guid?
да
<ScalarOperator ScalarString="[IV-20173].[dbo].[tps_user_message_recipient].[tps_copy_with_guid]=[IV-20173].[dbo].[tps_user_message_recipient].[tps_guid]">
...
Рейтинг: 0 / 0
15.03.2019, 12:14
    #39786565
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Индекс добавьте по [tps_copy_with_guid]
...
Рейтинг: 0 / 0
15.03.2019, 12:17
    #39786571
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
А есть ли смысл добавлять, если в этой колонке все значения NULL?
...
Рейтинг: 0 / 0
15.03.2019, 12:19
    #39786575
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Den_KPА есть ли смысл добавлять, если в этой колонке все значения NULL?
смысл этой колонки и FK сходу не ясен.
индекс заменит скан на seek. А так вообще определитесь нужна ли колонка или нужен ли референс
...
Рейтинг: 0 / 0
15.03.2019, 12:34
    #39786589
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Изучил, похоже что это Баг приложения.
Сейчас направлю тикет для изучения.
Позже обязательно отпишусь о результате!
И по рекомендации добавлю иденкс для организации seek-а.
Большое спасибо за помощь!
...
Рейтинг: 0 / 0
15.03.2019, 12:36
    #39786592
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Den_KPИзучил, похоже что это Баг приложения.
Сейчас направлю тикет для изучения.
Позже обязательно отпишусь о результате!
И по рекомендации добавлю иденкс для организации seek-а.
Большое спасибо за помощь!
если это рудимент, то просто прибейте референс и ничего больше не надо
...
Рейтинг: 0 / 0
15.03.2019, 13:04
    #39786637
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Проблема в том что я незнаю как функционал зацеплен на это, есть риск что сломается.
Это поле видно в прикладе и его нельзя там отрубить, только хотфиксом от вендора.
Если результата от вендора не будет, тогда сдклаю индекс.
...
Рейтинг: 0 / 0
15.03.2019, 13:05
    #39786641
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Den_KPПроблема в том что я незнаю как функционал зацеплен на это, есть риск что сломается.
Это поле видно в прикладе и его нельзя там отрубить, только хотфиксом от вендора.
Если результата от вендора не будет, тогда сдклаю индекс.
я и не предлагаю "отрубать"... в общем общайтесь с вендором
...
Рейтинг: 0 / 0
15.03.2019, 13:53
    #39786702
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Den_KPА есть ли смысл добавлять, если в этой колонке все значения NULL?Вот сервер и сканирует всю таблицу, что бы узнать, все там NULL, или есть записи, ссылающиеся на удаляемый tps_guid
...
Рейтинг: 0 / 0
15.03.2019, 13:55
    #39786705
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Den_KPПроблема в том что я незнаю как функционал зацеплен на это, есть риск что сломается.
Это поле видно в прикладе и его нельзя там отрубить, только хотфиксом от вендора.
Если результата от вендора не будет, тогда сдклаю индекс.Да сделайте индекс, и всё, в чём проблема, зачем мучаться, пока вендор ответит?
Будет лишняя нагрузка при вставке, но она неставнима со сканом при каждом удалении, просто разница в тысячи раз.
...
Рейтинг: 0 / 0
15.03.2019, 13:57
    #39786707
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Den_KPПроблема в том что я незнаю как функционал зацеплен на это, есть риск что сломается.
Это поле видно в прикладе и его нельзя там отрубить, только хотфиксом от вендора.Так TaPaK не предлагает удалить поле, оен предлагает удалить референс.
Понятно, что приложение может референсы проверять, но обычно так никто не делает, ну а функционально он не нужен, т.к. поле всегда NULL

Но это ладно, индекс то точно никому не помешает. Обычный, неуникальный.
...
Рейтинг: 0 / 0
19.03.2019, 01:04
    #39788125
Mind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
alexeyvgНо это ладно, индекс то точно никому не помешает. Обычный, неуникальный.Или фильтрованный. Будет почти пустой.
...
Рейтинг: 0 / 0
19.03.2019, 06:58
    #39788146
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Саппорт у вендора как у черепахи, до сих пор мурыжат вопрос.
Руки чешуться добавить индекс, но проблема в том что если что то колыхнеться 3 шкуры сдерут, поэтому работа должна отлежаться)))
Я понимаю, что референс у них прям зашит в процессах, поэтому это похоже именно тот случай.
...
Рейтинг: 0 / 0
19.03.2019, 11:26
    #39788269
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Den_KP,

Если у вас там одна запись, одно чтение, и одно удаление, то я подумал бы над необходимостью индексов.
...
Рейтинг: 0 / 0
19.03.2019, 18:20
    #39788592
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация при удалении данных из таблицы
Den_KPРуки чешуться добавить индекс, но проблема в том что если что то колыхнеться 3 шкуры сдерут, поэтому работа должна отлежаться)))
Я понимаю, что референс у них прям зашит в процессах, поэтому это похоже именно тот случай.Уже говорили, что референс и индекс никак не связаны.
Референс удалять нельзя, а вот добавление индекса не должен ни на что повлиять. Но если он не нужен (то есть устраивает низкая скорость), то можно и не добавлять. За низкую скорость у вас же никогда никого не выгоняли, так что можно забить.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Оптимизация при удалении данных из таблицы / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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