Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
02.01.2019, 13:52
|
|||
|---|---|---|---|
как определить момент окончания выполениния INDEX REORGANIZE / REBUILD? |
|||
|
#18+
Есть хранимка, которая запускается в джобе. В ней выполняется проверка фрагментированности индексов и при необходимости запускается INDEX REORGANIZE / REBUILD. Результаты пишутся в лог-таблицу. Проблема: запись результатов переиндексации в лог-таблицу происходит раньше, чем перестройка некоторых индексов. Cкрипт "ALTER INDEX..." формируется динамически, и запускается с помощью exec (). А следующая за ним команда, как я предполагаю, не ждет его окончания. Вследствие этого цифры (avg_fragmentation_in_percent) у этих индексов до и после дефрагментации не отличаются. Вопрос: я хочу проверять, завершились ли все команды перестроения индексов и только после этого делать апдейт лог-таблицы. Как можно программно определить время окончания перестроения индексов? Спасибо большое! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.01.2019, 21:51
|
|||
|---|---|---|---|
как определить момент окончания выполениния INDEX REORGANIZE / REBUILD? |
|||
|
#18+
sennCкрипт "ALTER INDEX..." формируется динамически, и запускается с помощью exec (). А следующая за ним команда, как я предполагаю, не ждет его окончания ждет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.01.2019, 13:49
|
|||
|---|---|---|---|
|
|||
как определить момент окончания выполениния INDEX REORGANIZE / REBUILD? |
|||
|
#18+
sennзапись результатов переиндексации в лог-таблицу происходит раньше, чем перестройка некоторых индексов. простите это как? Команда перестройки еще не завершилась, но уже в таблицу лог вписан результат ее выполнения? Или у вас просто джоб по расписанию запускается раз в 30 минут, считывает информацию о фрагментации, игнорируя, что предыдущий старт все еще работает? sennВопрос: я хочу проверять, завершились ли все команды перестроения индексов и только после этого делать апдейт лог-таблицы. Как можно программно определить время окончания перестроения индексов? програмно можно вытащить выполняемые запросы 'Alter index' и проанализировать их. Но смысла не видно. если у вас работает один скрипт, то он ждет. Ошибка или в коде или в попытке сделать многопоточное выполнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.01.2019, 14:05
|
|||
|---|---|---|---|
как определить момент окончания выполениния INDEX REORGANIZE / REBUILD? |
|||
|
#18+
Yasha123, перепроверил. Да, действительно, мой косяк. Проблема была в колоночном индексе, который не перестраивался, что было вполне естественно, т.к. ипользовался другой метод и оценка дефрагментации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&tablet=1&tid=1688496]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
84ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 252ms |
| total: | 433ms |

| 0 / 0 |
