Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть таблица размер 1 Гб, размер индексов 20Мб(4 индекса). Табилца отвечает за отправку сообщений по почте, после отправки удаляет поля. Проблема в том что индексы устаревают на 90% после 30 минут работы. Создается большое время ожидания в обращениях. План приложенил. Время ожидания в день составляет около 7 часов. Почитал по удалению, не могу понять как можно оптимизировать такой быстро меняющийся поток:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 11:32 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Den_KP, "Создается большое время ожидания в обращениях." у вас куча и скан, удёления ждут друг друга и вставки соотвественно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 11:38 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Den_KPПроблема в том что индексы устаревают на 90% после 30 минут работы.Как это "индексы устаревают"? Индексы у вас всегда свеженькие, обновление индексов происходит прямо в транзакции обновления данных. Den_KPСоздается большое время ожидания в обращениях. План приложенил.Для такого запроса можно и хинт указать. tps_guid уникальный или как? Лучше, конечно, приложить план (не estimated) в формате sqlplan, и скрипт создания таблицы с индексами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 11:40 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Если результатом скана будет одно значение, тогда стоит ли использовать index seek? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 11:42 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Den_KPЕсли результатом скана будет одно значение, тогда стоит ли использовать index seek? что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 11:45 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Den_KPЕсли результатом скана будет одно значение, тогда стоит ли использовать index seek?Если в таблице 3 записи, то стоит. Повторю ещё раз: alexeyvgЛучше, конечно, приложить план (не estimated) в формате sqlplan, и скрипт создания таблицы с индексами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 11:50 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
alexeyvg, С хинтами сложнее, запрос зашит в прикладе, поэтому нужно по-возможности реализовать на уровне БД, а если это не поможет тогда уже собрать аналитику и выкатывать рекомендацию разработчикам. tps_guid - PK и уникальный. Файлs вложил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 11:51 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Den_KPalexeyvg, С хинтами сложнее, запрос зашит в прикладе, поэтому нужно по-возможности реализовать на уровне БД, а если это не поможет тогда уже собрать аналитику и выкатывать рекомендацию разработчикам. tps_guid - PK и уникальный. Файлs вложил. смотрите в свои функции на контрейнах, они вызывают скан ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:00 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
точнее нет там функций :) FK сам на себя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:05 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
FK который tps_copy_with_guid? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:08 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
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]"> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:08 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Индекс добавьте по [tps_copy_with_guid] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:14 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
А есть ли смысл добавлять, если в этой колонке все значения NULL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:17 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Den_KPА есть ли смысл добавлять, если в этой колонке все значения NULL? смысл этой колонки и FK сходу не ясен. индекс заменит скан на seek. А так вообще определитесь нужна ли колонка или нужен ли референс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:19 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Изучил, похоже что это Баг приложения. Сейчас направлю тикет для изучения. Позже обязательно отпишусь о результате! И по рекомендации добавлю иденкс для организации seek-а. Большое спасибо за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:34 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Den_KPИзучил, похоже что это Баг приложения. Сейчас направлю тикет для изучения. Позже обязательно отпишусь о результате! И по рекомендации добавлю иденкс для организации seek-а. Большое спасибо за помощь! если это рудимент, то просто прибейте референс и ничего больше не надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:36 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Проблема в том что я незнаю как функционал зацеплен на это, есть риск что сломается. Это поле видно в прикладе и его нельзя там отрубить, только хотфиксом от вендора. Если результата от вендора не будет, тогда сдклаю индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:04 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Den_KPПроблема в том что я незнаю как функционал зацеплен на это, есть риск что сломается. Это поле видно в прикладе и его нельзя там отрубить, только хотфиксом от вендора. Если результата от вендора не будет, тогда сдклаю индекс. я и не предлагаю "отрубать"... в общем общайтесь с вендором ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:05 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Den_KPА есть ли смысл добавлять, если в этой колонке все значения NULL?Вот сервер и сканирует всю таблицу, что бы узнать, все там NULL, или есть записи, ссылающиеся на удаляемый tps_guid ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:53 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Den_KPПроблема в том что я незнаю как функционал зацеплен на это, есть риск что сломается. Это поле видно в прикладе и его нельзя там отрубить, только хотфиксом от вендора. Если результата от вендора не будет, тогда сдклаю индекс.Да сделайте индекс, и всё, в чём проблема, зачем мучаться, пока вендор ответит? Будет лишняя нагрузка при вставке, но она неставнима со сканом при каждом удалении, просто разница в тысячи раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:55 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Den_KPПроблема в том что я незнаю как функционал зацеплен на это, есть риск что сломается. Это поле видно в прикладе и его нельзя там отрубить, только хотфиксом от вендора.Так TaPaK не предлагает удалить поле, оен предлагает удалить референс. Понятно, что приложение может референсы проверять, но обычно так никто не делает, ну а функционально он не нужен, т.к. поле всегда NULL Но это ладно, индекс то точно никому не помешает. Обычный, неуникальный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:57 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
alexeyvgНо это ладно, индекс то точно никому не помешает. Обычный, неуникальный.Или фильтрованный. Будет почти пустой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 01:04 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Саппорт у вендора как у черепахи, до сих пор мурыжат вопрос. Руки чешуться добавить индекс, но проблема в том что если что то колыхнеться 3 шкуры сдерут, поэтому работа должна отлежаться))) Я понимаю, что референс у них прям зашит в процессах, поэтому это похоже именно тот случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 06:58 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Den_KP, Если у вас там одна запись, одно чтение, и одно удаление, то я подумал бы над необходимостью индексов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 11:26 |
|
||
|
Оптимизация при удалении данных из таблицы
|
|||
|---|---|---|---|
|
#18+
Den_KPРуки чешуться добавить индекс, но проблема в том что если что то колыхнеться 3 шкуры сдерут, поэтому работа должна отлежаться))) Я понимаю, что референс у них прям зашит в процессах, поэтому это похоже именно тот случай.Уже говорили, что референс и индекс никак не связаны. Референс удалять нельзя, а вот добавление индекса не должен ни на что повлиять. Но если он не нужен (то есть устраивает низкая скорость), то можно и не добавлять. За низкую скорость у вас же никогда никого не выгоняли, так что можно забить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 18:20 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39786516&tid=1688061]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 283ms |
| total: | 512ms |

| 0 / 0 |
