|
![]() |
#1 |
Модератор
|
Ну это как посмотреть. Если регулярно проводить ТО системы, включающее удаление отмененных сопоставлений в прошлых периодах, то селективность и соответственно польза от такого индекса радостно стремится к нулю. Так что если вы N-цать лет экспериментировали с закрытием склада и не чистили InventSettlement, то соотношение "хороших" и "плохих" сопоставлений и количество данных будут такие, что оптимизатору будет дешевле запустить один table scan чем миллионы раз метаться от записей в индексе к страницам с данными. В этом случае очистка частями по дате сопоставления (TransDate) вам в помощь, благо поле проиндексировано неоднократно
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: mazzy (2), Zabr (1). |
![]() |
#2 |
Участник
|
|
|
![]() |
#3 |
Модератор
|
Если отмененных сопоставлений много (миллионы), независимо от того насколько быстро они найдутся (по индексу или нет), их еще потребуется удалить, так что все равно это довольно затратная по вводу-выводу операция и ее так или иначе придется бить на части (и тут индекс по дате сопоставления будет полезен)
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#4 |
Участник
|
|
|
![]() |
#5 |
Модератор
|
Я бы почистил, профилактики ради и экономии места для - производительности особой это не прибавит. Если планируете запускать такую очистку регулярно и используете SQL Server 2008, можете создать filtered index (WHERE CANCELLED = 1) - получится симпатично, эффективно и не громоздко
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#6 |
Участник
|
Почистил. Заняло 7 часов. Удалилось 10,1 млн сопоставлений, добавилось 6,5 млн, итого уменьшение на 3,6 млн. записей. Посмотрел на таблицу в Sql management studio .. и очень сильно удивился занимаемому объему в базе: ОН ВЫРОС! Число записей - да, сократилось. Но занимаемое место в базе: было 14 Гб данные + 14 Гб индексы, стало 13 Гб данные + 20 Гб индексы. Почему вдруг настолько сильно (на 50%) выросло место занимаемое индексами, если число записей сократилось?
Vadik, есть версии ? |
|
![]() |
#7 |
Модератор
|
Цитата:
![]()
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#8 |
Administrator
|
Цитата:
Только надо учесть, что имена индексов уникальны в БД (MS SQL Server) и полную копию таблицы с индексами создать не получится, если не переименовать помимо таблицы еще и индексы. Я создавал копию таблицы без индексов - туда все переливал, после чего синхронизировал табличку (после удаления исходной таблицы)
__________________
Возможно сделать все. Вопрос времени |
|
Теги |
пересчет себестоимости, удаление |
|
![]() |
||||
Тема | Ответов | |||
Автоматическое удаление AX 4.0 | 3 | |||
Ax 3. Запускаю на сервере удаление файла. Не удаляет. | 17 | |||
Корректное удаление проводки | 7 | |||
Удаление проекта | 0 |
|