Индексирование реквизитов #698890


#0 by Aleksey1989
Добрый день. Помогите, пжл, советом. В документе есть реквизит, который не индексируется. Если я включу индексирование для этого реквизита, а потом выключу, то индексы для этого реквизита из БД удалятся?
#1 by Lama12
Проверь на копии.
#2 by 1Сергей
они не будут использоваться
#3 by Aleksey1989
Т.е. в базе они останутся?
#4 by Поpyчик-4
По логике выключение индексирования должно означать DROP INDEX index_name ON tbl_name или ALTER TABLE tbl_name DROP INDEX index_name
#5 by ДенисЧ
удалятся
#6 by МимохожийОднако
Для чего такие манипуляции?
#7 by hhhh
чтобы размер базы уменьшился, делай ТИИ сжатие базы
#8 by Aleksey1989
Есть самописная конфа, в которой есть форма списка с отбором по куче реквизитов, которые не являются индексными и которые очень часто используются.
#9 by МимохожийОднако
ну, и?
#10 by Поpyчик-4
Сжатие таблиц только для файловой базыю
#11 by Aleksey1989
Если реквизиты будут индексными, в этом случае быстрее же будет происходить отбор. База занимает почти 4 гБ, работает в файловом режиме, поэтому и интересуюсь, удалятся ли в случае чего индексы или нет.
#12 by hhhh
а в SQL если нажать? Не сработает?
#13 by МимохожийОднако
"Вот оно что, Михалыч..". Индексируй, не индексируй. А поможет только свёртка, если на клиент-сервер.
#14 by МимохожийОднако
*если НЕ клиент-сервер
#15 by Поpyчик-4
Средствами SQL сработает.
#16 by Torquader
Если хочется, чтобы всё было гладко - то выгрузка и загрузка. Просто, нужно понимать, что SQL специально оставляет свободные места в таблицах, чтобы можно было вставлять элементы без необходимости открытия новых страниц для таблицы. Если поиск по нескольким реквизитам, то нужно понимать, что или вы сделаете все возможные индексы или всё равно будет выполняться сканирование таблицы. SELECT ... FROM [Table] WHERE A=Val1 AND B=Val2 будет требовать наличия индекса A,B или B,A - если его нет, то будут рассматриваться A или B - если есть оба, то SQL-сервер по каким-то алгоритмам будет выбирать какой использовать.
#17 by Torquader
А - версия-то файловая. Тут немного хуже - наличие индексов предполагает, что при записи они будут обновляться, что создаст дополнительную нагрузку на файловый движок, а так как в случае файловой версии блокируется вся таблица, то будут некоторые ожидания, если в эту таблицу ведётся частая запись.
#18 by H A D G E H O G s
А если индексировать еще и реквизит типа Организация, Контрагент, Склад - то вообще никаких плюсов из за низкой селективности.
#19 by Torquader
Поэтому, я бы посмотрел - какие отборы пользователи устанавливают и индексировал бы только те поля, которые практически во всех отборах встречаются и содержат наибольшее количество различных значений.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С