Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Снимать ли индекс?  [new]
Иван FXS
Member

Откуда:
Сообщений: 2092
Есть таблица с индексом ... большая.

Известно, что предстоит обновить (поменять) значения индексных полей в N% записей таблицы. При каких N% более эффективно дейсвовать в лоб, а при каих - снять индекс, обновить записи, а потом - заново построить индекс?
15 июн 06, 01:45    [2772580]     Ответить | Цитировать Сообщить модератору
 Re: Снимать ли индекс?  [new]
NG
Member

Откуда: Екатеринбург
Сообщений: 1492
Вопрос-то уж больно сложный. Боюсь, что конкретного ответа никто дать не сможет, т.к. он зависит от большого числа факторов. Даже если такой ответ будет получен, то всегда останется место сомнениям.
Попробуйте поставить эксперимент: выполнить обновление по каждой из стратегий для 5%, 10%, 20% ... с регистрацией затраченного времени. Естественно, с восстановлением пытуемой таблицы. Только в этом случае ваш выбор будет обоснован.
Успехов!
15 июн 06, 03:00    [2772600]     Ответить | Цитировать Сообщить модератору
 Re: Снимать ли индекс?  [new]
msn13
Member

Откуда: Скорый поезд №42
Сообщений: 1372
очень интересно!!!
готов по участвовать в эксперементе.
только критерий к таблице (большая....), сколько полей, индексов, данных .... лучше вообще запрос на создание такой таблицы.

а еще описание, сервака и как реализованна сеть. ну в принципе это потом для анализа будет интересно!
15 июн 06, 10:05    [2773052]     Ответить | Цитировать Сообщить модератору
 Re: Снимать ли индекс?  [new]
bubucha
Member

Откуда:
Сообщений: 5636
готов по участвовать в эксперементе.

Присоединяюсь.
15 июн 06, 10:15    [2773090]     Ответить | Цитировать Сообщить модератору
 Re: Снимать ли индекс?  [new]
Иван FXS
Member

Откуда:
Сообщений: 2092
Коллеги, мне, собственно, хотелось услышать некие общие (теоретические) соображения на этот счет ..

Галимая феноменология (эксперементы, не обеспеченные теорией) не слишком осмысленна!

Или, например, экспертные мнения: вот, если Вам нужно обновить ~ 10% значений (индекса) - Вы его снимаете, или "идете напролом"?

msn13
только критерий к таблице (большая....), сколько полей, индексов, данных ...

- каким образом это может (должно) влиять на результат?

msn13
а еще описание, сервака и как реализованна сеть...

- вообще-то меня итересует локальная задача: MS Access на персональной машине ...
16 июн 06, 11:58    [2778672]     Ответить | Цитировать Сообщить модератору
 Re: Снимать ли индекс?  [new]
bubucha
Member

Откуда:
Сообщений: 5636
автор
некие общие (теоретические) соображения на этот счет

Дык, все прописано в манулах - если индексов дофига, то инсерты и апдейты тормозятся, зато селекты наоборот. Сммысл в том, что тяжело дать "общюю" оценку. Допустим - таблица миллион записей, индекс по одному полю - время выполнения t1, таблица 10 000 записей, 10-ть индексных полей - время выполнения t2. Кто скажет, что будет больше t1 или t2. Это я к тому, что выйгрыш по времени можно оценить ТОЛЬКО для конкретной структуры (условий), но ни как не общий.
16 июн 06, 12:13    [2778768]     Ответить | Цитировать Сообщить модератору
 Re: Снимать ли индекс?  [new]
Andres 1
Member

Откуда: Эстония
Сообщений: 1191
Анекдот вспоминается. Про то что N самолетов вероятного противника - слишком много, возьмем, нопример, K самолетов.
16 июн 06, 12:40    [2778989]     Ответить | Цитировать Сообщить модератору
 Re: Снимать ли индекс?  [new]
Иван FXS
Member

Откуда:
Сообщений: 2092
bubucha
Смысл в том, что тяжело дать "общюю" оценку.

- а кому сейчас легко? ;-)
16 июн 06, 12:57    [2779130]     Ответить | Цитировать Сообщить модератору
 Re: Снимать ли индекс?  [new]
NG
Member

Откуда: Екатеринбург
Сообщений: 1492
Иван FXS
- а кому сейчас легко? ;-)

А к себе применить свой-же тезис? ;-)

Гетц, т.1, с.785
Если вы затрудняетесь с выбором оптимального решения, реализуйте возможные варианты и проверьте, какой из них работает быстрее. Не полагайтесь только на свои предположения или чьи-то советы.

-- Ну, вот и цитатку отыскал.
На самом деле, необходимость оптимизации определяется тем, как часто вы будете использовать массовое редактирование. Если каждую минуту (что сомнительно, учитывая слово массовая), то оптимизация несомненно нужна. А если раз в день/неделю/месяц, то можно делать как удобней. На общую производительность скажется крайне мало.
Если вы решили, что будете оптимизировать, то придется определять временнЫе затраты по каждой из стратегий. Другого пути нет. Ну, не полагаться-же на АБС (Адна Баба Сказала). Тем более, что помощь уже вам предложена.
Успехов в вашем многотрудном деле!
16 июн 06, 15:41    [2780500]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить