Базовый курс. Мастер-группа Q&A от 01.03.2012
Даем видео-ответы на вопросы участников базового курса по программированию.
Сегодня у Вас есть возможность познакомиться с Добренко Олегом ;)
1. Условия в запросе.
Возникла проблема с отчетом “Остатки и цены”.
Должны выводиться все товарные позиции, для которых есть остаток ИЛИ задана цена.
Однако выводятся только товары с ценой (в данном случае – стол).
2. Индексирование.
Индексирование описано в курсе, но как то несколько материал растворился во всем курсе, объясните, когда его применять (по пунктам 1 – ускорение запросов, 2 поиск по этому полю в интерфейсе, 3 вероятно есть еще моменты, когда нужно ставить галочку).
Какие поля нужно индексировать измерения, ресурсы, реквизиты в РАЗЛИЧНЫХ регистрах?
Если не активировали токен — посмотрите видео-инструкцию (видео N5)
Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.
Всем доброго времени суток…
Как помнится – установка индексов может не тольк оускорить, но замедлить в некоторых случаях работу базы… Стало интересно глянуть на размеры таблиц данных и таблиц индекстов типовых конфигураций 1С. Оказалось, что иногода размер таблицы индексов близок, а то и больше, размера таблицы данных. Отсбда вопрос: Если таблица индексов близка или даже больше размера соответствующей таблицы с данными, то это еще не означает, что индексы настроены неверно?
Добрый день!
Об эффективности использования индекса нельзя судить по его размеру.
Не исключено, что в некоторых случаях он может превосходить размер таблицы.
Эффективность индекса анализируется с помощью средств СУБД, в частности это можно сделать анализируя план выполнения запроса.
Частично этого мы касаемся в рамках курса продвинутого.
Ну, насколько я понимаю, для индексов создаются отдельные таблицы, что как раз и даёт выигрыш по скорости при поиске…
О! Олега Добренко с удачным дебютом! :)
Благодарю, Михаил :)
Здравствуйте!
Вопроса индексирования кстати говоря, я часто задавался и во всех местах он обходился слишком “сжёвано”.
Раз Вы уж решили заострить внимание на этой теме расскажите поподробнее ещё один момент:
Только что во 2-ом ответе Вы привели в качестве примера поле таблицы, и сказали что “ПО УМОЛЧАНИЮ” поиск нужной строки осуществляется путём перебора всех записей, но в случае если это поле будет проиндексировано, то нужная запись будет получена почти сразу.
Вопросы в следующем:
1. А за счёт чего это поле будет получено мгновенно? Или по какому принципу система создаёт записи другой таблицу, благодаря чему система узнаёт где их искать в основной таблице?
2. А есть ещё один момент. Я всё время думал, что если в некой таблице какое-то поле индексируется, то система создаёт ещё одно поле, которое содержит некие индексы благодаря чему поиск осуществляется по особенному. А Вы только что сказали (хотя и не очень чётко), что для одного поля создаётся отдельная целая таблица. Правильно ли я понял, именно таблица создаётся физически для каждого индексируемого поля исходной таблицы, или что-то другое?
PS: поздравляю Олега с первым выступлением:))
Добрый день!
По поводу сроков доступа рассмотрим ситуацию, несколько позже.
Монетизация будет выложена раньше окончания Вашего доступа, то есть скачать Вы ее сможете в любом случае.
Что касается мастер-групп, то пока не могу сказать будут ли они. Обо всем этом расскажет Фарит, в ближайшее время.
Олегу поздравления передал :-)
Добрый день!
1. Существуют различные алгоритмы поиска нужного значения с помощью индекса.
Наиболее простой из них – использование специальных структур данных В-деревьев.
Но это сильно выходит за рамки платформы 1С, нет смысла прикладным программистам так углубляться.
Хотя если есть желание, можно найти литературу.
2. Все индексы хранятся в одной таблицы.
Поздравление Олегу передал :)