#0
by TormozIT
Использование: Только чтение. Описание: Тип: ИндексыКоллекции. Содержит коллекцию индексов таблицы значений. Возможен обмен с сервером. Не могу понять, как использовать. Помогите примером.
#1
by TormozIT
Элементы коллекции: ИндексКоллекции Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются ИндексКоллекции. Методы: Добавить (Add) Описание: Список индексов коллекции. См. также: ИндексКоллекции ТаблицаЗначений, свойство Индексы
#2
by TormozIT
Уже раз 20 упал конфигуратор в режиме отладки (потянуло обратно на 8.0). 8.1.6.38 Нигде не могу найти описания
#3
by Defender aka LINN
Гм... А ИндексКоллекции что такое? СП хотя бы процитируй :) 8.1, правда, сейчас нет, но может кто скажет.
#4
by jcage
Насчет использовать - это просто. ТаблицаСОднимИндексом.Индексы.Добавить("Данные1"); Но вот что они дают - я так и не понял. Написал обработку для тестирования: время поиска по индексированным колонкам практически не отличается от поиска по обычным.
#5
by jcage
Собственно можете сами посмотреть: Достаточно сделать форму и на форме реквизит "КоличествоСтрок", который будет отвечать за количество строк ТЗ для тестирования. Весь код автоматически сгенерированный заменить на данный.
#8
by TormozIT
Хотя получается то, что не познаю... Я тоже сравнивал замеры производительности. Че то не вкурил я прироста. Дык еще с этими индексами отладка падает постоянно у меня. Наверное индексировать то не все типы можно, да только вот описания НЕТУ!
#10
by TormozIT
У меня важные процедуры, которые используют большое количество поисков по ТЗ. И я очень надеялся ускорить их за счет индексов. Но получил ШИШЬ =(
#13
by TormozIT
В моем случае не прокатит. Как я уже писал большое количество поисков. Это значит, что таблица будет каждый раз отправляться на сервер. Не думаю, что это ускорит процесс =)
#18
by TormozIT
Я уверен, что индексы именно для оптимизации именно таких задач нужны. Только практика пока не дает подтверждения. Нужна документация. У меня используется метод Найти (поиск идет по одной колонке).
#20
by jcage
+ насчет индексов ты прав, только вот что это за зверь и как его есть - пока не понятно.
#22
by TormozIT
Для того, чтобы создать индекс, нужно добавить его в коллекцию индексов: Применение индекса оправдано, если Вы выполняете множественный поиск по ТЗ. Например, когда у Вас есть цикл, в котором вызывается ТаблицаЗначений.НайтиСтроки или ТаблицаЗначений.Найти. При единичном поиске отличие между поиском по индексу и поиском без индекса не очень велико, даже на 1000000 элементов. Также применение индекса оправдано, если Ваша ТЗ используется преимущественно для поиска, а количество операций изменения данных в ней невелико. Если это не так, то операции, требуемые для поддержания индекса, будут занимать больше времени, чем выйгрыш от применения индекса при поиске. При поиске индекс используется только в том случае, если состав колонок индекса и состав колонок, по которым ведется поиск, совпадают.
#23
by TormozIT
Применил в алгоритме с интенсивным поиском по ТЗ. В проверочном случае получил прирост 10% (2.08 сек против 2.28 сек). Там было порядка 500 поисков. Думаю, это неплохо.
#25
by sindbad
Да вот решил поднять темку, просто самому было нужно использовать индексы для ускорения поиска. Так вот, замер производительности показал, что в таблице с 10'000 номенклатуры сама индексация (поле "ссылка") производится за 50 мс, - среднее время поиска элемента с индексацией: 0,000065032 с - среднее время поиска элемента без индексации: 0,013072343 с Таким образом, с индексацией поиск осуществляется аж в 200 раз быстрее! Причем по моим наблюдениям памяти на индексацию выделяется примерно 100-150 Кб, по-моему данная фишка неплохо разгружает сервак, особенно в терминальном режиме. Для тестирования был осуществлен поиск примерно 1000 элементов в обоих режимах, причем 90 процентов - это элементы, находящиеся в самом конце таблицы (с номером 9xxx), что позволило сделать тестирование достаточно объективным, по сравнению допустим с таблицей из 100-1000 элементов. Даже без замера производительности можно было заметить разницу в скорости - с индексами нет даже намеков на какие-либо тормоза (в т.ч. и в конце таблицы), в обычном режиме тормоза усиливаются по мере продвижения курсора в конец таблицы, что вполне логично. ps: Тестирование осуществлялось на движке 1С:Предприятие 8.1 (8.1.7.37), конфа "Управление торговлей", редакция 10.2 (10.2.13.1), режим работы - локальный (надо бы на сервере протестировать), комп - двухядерный P4 3 ГГц, память 1 ГБ DDR 2 на 800 шине, мать intel DG965RY, винт - 250 ГБ Seagate SATA-2 16M ncq 7200rpm, монитор 19' Samsung 940Fn :) Жду ваши мнения по этому поводу.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Таблицы, таблицы, таблицы... Будь они неладны
- 1с. Идентификатор Таблицы Значений полученной из Списка Значений.
- Свойство формы в конфигураторе(?) "Использовать только видимую область"
- Свойство формы обработки(Использовать таблицу пустую)
- Как в Список Значений загрузить колонку Таблицы Значений?
- Таблица значений в ячейке таблицы значений
- свойство "использовать всегда" на тонком клиенте
- Заполнение таблицы данными из таблицы значений
- 8.3, УФ, свойство Рамка колонок таблицы формы - не работает? 8.3.5.1517
В этой группе 1С
- Как из XML получить текст не только XML, но и заголовка
- v8: Как установить ГУИД для счета из плана счетов?
- 1с 8.1 не видит ключи
- На что влияет поле период в РегистреНакопления
- Порядок обновления SQL 2000 на 2005
- v7: Установка/удаление УРИБ(распределенные ИБ)
- Перенос сотрудников из Камина в ЗиК
- сделать копию 1с 7.7 скл.базы
- Проектирование: 1С-ориентированная среда проектирования.
- Хочу определить в строке место перехода на новую строку
- Перевод TXT в XML и обратно
- Запрос в OLE базе, как обратиться к результам ?
- Ошибка при добавление новой строки в Таблицу значений
- А как указать шестнадцатеричное число в 1С?
- Информация по back-office системам, работающим с РМК АТОЛ
- v7:Как запретить определенным пользователям вход в Конфигуратор?
- УТ ЧекККМ Время документа
- как функцию возвести в степень в 1С?
- Как выбрать из регистра бухгалтерии обороты по одному счету?
- Как распределяется нагрузка в 1С 77 SQL на многоядерниках?