«1С:Профессионал» по технологическим вопросам (Раздел 7)

Индексы

Вопрос 7.1
Структуру индексов регистра сведений можно определить:

1. с помощью Конфигуратора. Индексы всегда строятся по порядку следования индексированных измерений.
2. в режиме 1С:Предприятия, использовав функцию глобального контекста «ПолучитьСтруктуруХраненияБазыДанных».
3. с помощью консоли кластера 1С.
4. с помощью ЦУП.

Посмотреть, какие индексы создаются на конкретной информационной базе, можно с помощью метода глобального контекста ПолучитьСтруктуруХраненияБазыДанных().

Источники:
ИТС: Оптимизация запросов
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) стр.84

Вопрос 7.2
Для периодического регистра сведений, в т.ч. подчиненного регистратору, кластерным индексом является (кроме регистров с периодичностью «по позиции регистратора») для 8.3:

1. [Измерение 1] + [Измерение 2 + …] + [Хэш-функция разделителей | Независимый разделитель 1]
2. [Хэш-функция разделителей | Независимый разделитель 1 + ] Период + [Измерение 1 + …]
3. [Регистратор] + [Измерение 1 + …]
4. [Хэш-функция разделителей | Независимый разделитель 1 + ] [Измерение 1 + …] + Период
5. Период + [Регистратор] + [НомерСтроки]
6. [Хэш-функция разделителей | Независимый разделитель 1 + ] Период + [Регистратор + Измерение 1 +…]

Кластерные индексы для регистра сведений, подчиненного регистратору:

  • непериодический [ОРРХ | ОРНР1 +] + Регистратор + НомерСтроки
  • периодичность любая, кроме подчинения регистратору:
    1. Если есть хоть одно измерение: [ОРРХ | ОРНР1 +] + [Измерение 1 + …] + Период + Активность
    2. Если нет измерений, то кластерный индекс не создается.
  • периодичность по позиции регистратора: [ОРРХ | ОРНР1 +]  [Измерение 1 + …] + Период + Регистратор + НомерСтроки + Активность

Вопрос 7.3
Для периодического регистра сведений, подчиненного регистратору, с периодичностью «по позиции регистратора» кластерным индексом является:

1. [Измерение 1] + [Измерение 2 + …]
2. Период + [Измерение 1 + …] + Регистратор
3. [Хэш-функция разделителей | Независимый разделитель 1 + ] Регистратор + Период + [Измерение 1 + …]
4. [Измерение 1]
5. [Хэш-функция разделителей | Независимый разделитель 1 + ] [Измерение 1 + …] + Период + Регистратор + НомерСтроки
6. [Последовательность независимых разделителей + ] Регистратор + Период + НомерСтроки

Кластерные индексы для регистра сведений, подчиненного регистратору:

  • непериодический [ОРРХ | ОРНР1 +] + Регистратор + НомерСтроки
  • периодичность любая, кроме подчинения регистратору:
    1. Если есть хоть одно измерение: [ОРРХ | ОРНР1 +] + [Измерение 1 + …] + Период + Активность
    2. Если нет измерений, то кластерный индекс не создается.
  • периодичность по позиции регистратора: [ОРРХ | ОРНР1 +]  [Измерение 1 + …] + Период + Регистратор + НомерСтроки + Активность

Вопрос 7.4
Кластерный индекс для баз на платформе 8.3 и СУБД MS SQL Server периодического регистра сведений, подчиненного регистратору, начинается с (если нет общих реквизитов, являющихся разделителями):

1. регистратора
2. первого измерения
3. периода
4. номера строки
5. регистратора или периода, в зависимости от того, что указано «периодом».

Кластерные индексы для регистра сведений, подчиненного регистратору:

  • непериодический [ОРРХ | ОРНР1 +] + Регистратор + НомерСтроки
  • периодичность любая, кроме подчинения регистратору:
    1. Если есть хоть одно измерение: [ОРРХ | ОРНР1 +] + [Измерение 1 + …] + Период + Активность
    2. Если нет измерений, то кластерный индекс не создается.
  • периодичность по позиции регистратора: [ОРРХ | ОРНР1 +]  [Измерение 1 + …] + Период + Регистратор + НомерСтроки + Активность

Вопрос 7.5
Для ведущего измерения регистра сведений 1С возможность включения индексирования в Конфигураторе отключена. Это означает, что:

1. индексы аналогичны и создаются автоматически.
2. всегда такой индекс [Ведущее Измерение] создаётся автоматически только, если указано свойство «Индексировать»
3. индекс [Ведущее Измерение +Измерение1] создается автоматически и является кластерным.
4. всегда такой индекс [Ведущее Измерение +Измерение1] + [Измерение2 + …] создается автоматически.

Индексировать – для измерений свойство доступно для редактирования, если измерение не является ведущим. Для измерений, ресурсов и реквизитов с установленным свойством Индексировать создается отдельный индекс, что увеличивает производительность при работе с регистром. Для ведущих измерений индекс создается всегда.

Источники:
ИТС: 1С:Предприятие 8.3.7. Документация

Вопрос 7.6
Для периодического регистра сведений всегда будет создаваться индекс:

1. по периоду.
2. по первому измерению.
3. по всем измерениям.
4. по ресурсу.
5. по регистратору.

Индекс по периоду для периодического регистра сведений создается всегда. Можно увидеть по «_ByPeriod_» в наименовании индекса.

Вопрос 7.7
Для чего нужны индексы?

1. Индексы нужны для идентификации объектов.
2. Индексы повышают производительность поиска и сортировки данных.
3. Индексы повышают производительность СУБД.
4. Индексы повышают скорость при записи и удалении данных в СУБД.
5. Верны ответы 2 и 4.
6. Верны ответы 2 и 3.

Вопрос 7.8
Какие индексы создаются средствами платформы?

1. Индексы, создаваемые неявным образом при создании объектов конфигурации, а также при тех или иных настройках объектов конфигурации.
2. Индексы, создаваемые явным образом (например, включением свойства «Индексировать»).
3. Кластерные и некластерные индексы.
4. Верны ответы 1 и 2.
5. Верны ответы 1, 2 и 3.

Вопрос 7.9
Что такое кластеризованный индекс?

1. Индекс, кроме ключевых столбцов, дополнительно содержащий еще и неключевые.
2. Индекс, содержащий значения ключа индекса, и каждая запись значения ключа содержит указатель на строку данных, содержащую значение ключа.
3. Индекс, обеспечивающий отсутствие повторяющихся значений ключа индекса.
4. Индекс, по которому отсортированы и хранятся строки данных в таблицах.

Кластеризованный индекс сортирует и хранит строки данных таблицы или представления в порядке, определяемом ключом кластеризованного индекса.Кластеризованный индекс реализуется в виде сбалансированного дерева, которое поддерживает быстрое получение строк по значениям ключа кластеризованного индекса.

Источники:
MSDN: Индексы

Вопрос 7.10
Чем кластеризованный индекс отличается от кластерного?

1. Кластерный индекс является уникальным, кластеризованный — нет.
2. Кластерный индекс хранится по кластерам, кластеризованный — по страницам.
3. Кластерный индекс строится более чем по одной колонке, кластеризованный — ровно по одной.
4. Это одно и то же.

Вопрос 7.11
Что такое уникальный индекс?

1. Индекс, кроме ключевых столбцов, дополнительно содержащий еще и неключевые.
2. Индекс, содержащий значения ключа индекса, и каждая запись значения ключа содержит указатель на строку данных, содержащую значение ключа.
3. Индекс, обеспечивающий отсутствие повторяющихся значений ключа индекса.
4. Индекс, по которому отсортированы и хранятся строки данных в таблицах.

Уникальный индекс обеспечивает отсутствие повторяющихся значений ключа индекса, что, в свою очередь, приводит к тому, что каждая строка в таблице или представлении является в каком-то смысле уникальной.

Как кластеризованные, так и некластеризованные индексы могут быть уникальными.

Источники:
MSDN: Индексы

Вопрос 7.12
Кластерный индекс:

1. всегда уникальный.
2. всегда неуникальный.
3. может быть как уникальным, так и не уникальным (обеспечивается СУБД путем добавления служебных данных).

Как кластеризованные, так и некластеризованные индексы могут быть уникальными.

Источники:
MSDN: Индексы

Вопрос 7.13
Уникальный индекс:

1. всегда кластерный.
2. всегда некластерный.
3. может быть либо кластерным, либо не кластерным.
4. может быть кластерным и не кластерным одновременно.

Как кластеризованные, так и некластеризованные индексы могут быть уникальными.

Источники:
MSDN: Индексы

Вопрос 7.14
В чем отличие кластерного индекса от некластерного?

1. Кластерные индексы сортируют и хранят строки данных в таблицах или представлениях на основе их ключевых значений, некластерные не трогают сами таблицы.
2. Строки данных в таблице хранятся в порядке сортировки исключительно в том случае, если таблица содержит кластерный индекс.
3. Если в пустую таблицу, не имеющую кластерного индекса, но имеющую некластерный, загрузить отсортированные в порядке этого индекса данные, ее какое-то время можно рассматривать как имеющую кластерный индекс.
4. Верны все ответы.

Кластеризованный

  • Кластеризованные индексы сортируют и хранят строки данных в таблицах или представлениях на основе их ключевых значений. Этими значениями являются столбцы, включенные в определение индекса. Существует только один кластеризованный индекс для каждой таблицы, потому что строки данных могут быть отсортированы только в единственном порядке.
  • Строки данных в таблице хранятся в порядке сортировки только в том случае, если таблица содержит кластеризованный индекс. Если у таблицы есть кластеризованный индекс, то таблица называется кластеризованной. Если у таблицы нет кластеризованного индекса, то строки данных хранятся в неупорядоченной структуре, которая называется кучей.

Некластеризованный

  • Некластеризованные индексы имеют структуру, отдельную от строк данных. В некластеризованном индексе содержатся значения ключа некластеризованного индекса, и каждая запись значения ключа содержит указатель на строку данных, содержащую значение ключа.
  • Указатель из строки индекса в некластеризованном индексе, который указывает на строку данных, называется указателем строки. Структура указателя строки зависит от того, хранятся ли страницы данных в куче или в кластеризованной таблице. Для кучи указатель строки является указателем на строку. Для кластеризованной таблицы указатель строки данных является ключом кластеризованного индекса.
  • Можно добавить неключевые столбцы на конечный уровень некластеризованного индекса и обойти существующее ограничение на ключи индексов (900 байт и 16 ключевых столбцов) и выполнять полностью индексированные запросы.

Источники:
MSDN: Описания кластеризованных и некластеризованных индексов

Вопрос 7.15
Обязательно ли наличие индексов?

1. Нет.
2. Если есть хотя бы один индекс, он должен быть кластерным.
3. Если есть хотя бы один индекс, он должен быть некластерным.
4. Если есть больше одного индекса, ровно один из них должен быть некластерным.
5. Если есть больше одного индекса, ровно один из них должен быть кластерным.
6. Верны ответы 1 и 4.

Вопрос 7.16
Индексирование первого измерения регистра, если это измерение имеет составной тип:

1. бессмысленно.
2. оправданно.
3. может улучшить план запроса.
4. первое измерение регистра не рекомендуется делать составного типа.

Вопрос 7.17
Чем B-tree отличается от Binary tree?

1. Это одно и то же.
2. B-tree обязательно сбалансировано, Binary tree — не обязательно.
3. B-tree, в отличие от Binary tree, может иметь высокую ветвистость.
4. В-tree это обобщение Binary search tree.
5. Верны ответы 2 и 3.
6. Верны ответы 2, 3 и 4.

Подробнее о деревьях можно прочитать здесь.

Вопрос 7.18
Двоичное дерево поиска (binary search tree) это двоичное дерево, у которого:

1. оба поддерева — левое и правое — являются двоичными деревьями поиска.
2. у всех узлов левого поддерева произвольного узла X значения ключей данных меньше, нежели значение ключа данных самого узла X.
3. у всех узлов правого поддерева произвольного узла X значения ключей данных больше, нежели значение ключа данных самого узла X.
4. значение в любой вершине не меньше, чем значения её потомков.
5. наличествуют свойства 1 и 4.
6. наличествуют свойства 1, 2 и 3.

Подробнее о деревьях можно прочитать здесь.

Вопрос 7.19
Двоичная куча (binary heap) это двоичное дерево, у которого:

1. уровни, исключая, возможно, последний, заполнены полностью; последний уровень, если заполнен не полностью, то заполняется слева направо без пропусков.
2. левые потомки в обязательном порядке меньше правых.
3. значение в любой вершине всегда для конкретного дерева либо не меньше, чем значения её потомков, либо не больше.
4. значения в любой вершине никак не упорядочены ни с предками, ни с потомками.
5. наличествуют свойства 1 и 2.
6. наличествуют свойства 1 и 3.

Подробнее о деревьях можно прочитать здесь.

Вопрос 7.20
Структура внутренних и листовых страниц B-tree:

1. обычно различается.
2. всегда совпадает.
3. как правило, совпадает.
4. всегда различается.

Подробнее о деревьях можно прочитать здесь.

Вопрос 7.21
Что такое ссылочная целостность?

1. качество реляционной базы данных, заключающееся в отсутствии в любой её таблице (отношении) внешних ключей, ссылающихся на несуществующие кортежи.
2. наличие первичных ключей во всех таблицах.
3. качество реляционной базы данных, заключающееся в отсутствии в любой её таблице (отношении) первичных ключей, ссылающихся на несуществующие кортежи.
4. наличие непустых внешних ключей во всех таблицах.

Ссылочная целостность (англ. referential integrity) — необходимое качество реляционной базы данных, заключающееся в отсутствии в любом её отношении внешних ключей, ссылающихся на несуществующие кортежи.

Источники:
Wikipedia: Ссылочная целостность

Вопрос 7.22
Что такое кортеж?

1. упорядоченный набор фиксированной длины.
2. упорядоченный набор неограниченной длины.
3. совокупность наборов, связанных общим свойством.
4. регламент обработки наборов.

Кортеж — упорядоченный набор фиксированной длины.

Источники:
Wikipedia: Кортеж

Вопрос 7.23
Что такое внешний ключ (foreign key)?

1. Совокупность атрибутов таблицы (отношения), совпадающий по типам атрибутов (и при возможности переименования — по именам) с потенциальным ключом другой или этой же таблицы (отношения).
2. Ключ индекса во внешнем источнике данных.
3. Поле, по которому можно строить дополнительный индекс.
4. Потенциальный ключ таблицы (отношения), совпадающий по типам атрибутов (и при возможности переименования — по именам) с потенциальным ключом другой или этой же таблицы (отношения).
5. Верны ответы 1 и 2.
6. Верны ответы 3 и 4.

Внешний ключ (FK) — это столбец или сочетание столбцов, которое применяется для принудительного установления связи между данными в двух таблицах. Внешний ключ можно создать, определив ограничение FOREIGN KEY при создании или изменении таблицы.

Источники:
MSDN: Внешний ключ

Вопрос 7.24
Какие требования предъявляются к потенциальному ключу в реляционной модели данных?

1. Уникальности.
2. Минимальности (несократимости).
3. Сортированности.
4. Избыточности.
5. Требования 1 и 2.
6. Требования 2, 3, 4.

Потенциальный ключ — в реляционной модели данных — подмножество атрибутов отношения, удовлетворяющее требованиям уникальности и минимальности (несократимости).

Источники:
Wikipedia: Потенциальный ключ

Вопрос 7.25
Что такое целостность базы данных (database integrity)?

1. соответствие имеющейся в базе данных информации её внутренней логике, структуре и всем явно заданным правилам.
2. соответствие фактов, хранящихся в базе данных, реальному миру.
3. отсутствие сбойных секторов на диске с резервной копией базы.
4. необходимое качество реляционной базы данных, заключающееся в отсутствии в любом её отношении внешних ключей, ссылающихся на несуществующие кортежи.

Целостность базы данных (database integrity) — соответствие имеющейся в базе данных информации её внутренней логике, структуре и всем явно заданным правилам.

Источники:
Wikipedia: Целостность базы данных

Вопрос 7.26
Что такое первичный ключ (primary key)?

1. Один из потенциальных ключей отношения, выбранный в качестве основного ключа (или ключа по умолчанию) — который наиболее удобен для тех или иных практических целей, и с наибольшей вероятностью не утратит уникальность со временем.
2. Ключ, состоящий из единственного атрибута, наиболее подходящий для создания кластерного индекса.
3. Ключ, который зависит от одного или более полей своей таблицы, и его значение формируется на основе значений этих полей.
4. Дополнительное служебное поле, добавленное к уже имеющимся информационным полям таблицы. Значение этого поля не образуется на основе каких-либо других данных из БД, а генерируется искусственно.

Первичный ключ (англ. primary key) — в реляционной модели данных один из потенциальных ключей отношения, выбранный в качестве основного ключа (или ключа по умолчанию).

Источники:
Wikipedia: Первичный ключ

Вопрос 7.27
Часть индексов могут содержать значения хэш-функции значений разделителей. Когда такое используется?

1. Если справочник разделяется одним независимым разделителем, тип которого не Строка.
2. Если тип разделителя — Строка, или разделитель независимый и совместный, или разделителей больше одного.
3. Если тип разделителя — не Строка, или разделитель независимый и совместный, или разделителей больше одного.
4. Всегда.
5. Такое не используется.
6. Когда в индекс входят поля независимых разделителей.

Если справочник разделяется одним независимым разделителем, тип которого не Строка, то индекс содержит поле этого разделителя.
Если тип разделителя — Строка, или разделитель независимый и совместный, или разделителей больше одного, то индекс содержит поле значения хэш-функции значений разделителей.
Это правило справедливо для всех индексов, в составе которых указано [ОРРХ | ОРНР1 +].

Источники:
ИТС: Индексы таблиц базы данных

Вопрос 7.28
Как можно увидеть, включен ли общий реквизит в состав индекса?

1. С помощью MS SQL Management Studio.
2. Необходимо выполнить метод встроенного языка ПолучитьСтруктуруХраненияБазыДанных()
3. Невозможно увидеть, включен ли общий реквизит в состав индекса
4. Верны ответы 1 и 2.

При использовании функции ПолучитьСтруктуруХраненияБазыДанных() есть нескольких важных вещей:

  1. Для всех объектных типов данных (справочники, документы и т. д.) в базе автоматически определяется кластерный индекс по полю Ссылка. И вот его в этой таблице вы не увидите, но про него надо просто помнить.
  2. При использовании общего реквизита к большинству индексов первым столбцом ключа индекса добавляется DataSeparationHash. Этого факта, к сожалению, через ПолучитьСтруктуруХраненияБазыДанных() вы тоже не увидите, и про него тоже надо помнить.
  3. Также в этой таблице вы не увидите индекса simplekey для регистра сведений, но он для наших целей важности не имеет.

Иточники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) стр.86

Вопрос 7.29
Общий реквизит, последовательность общих реквизитов, хэш-функция общих реквизитов включаются в состав индекса:

1. первым полем (полями).
2. последним полем (полями).
3. первым или последним полем (полями), в зависимости от того, о какой таблице идет речь.
4. любым полем (полями), в зависимости от того, о какой таблице идет речь.

Вопрос 7.30
Если в конфигурации используется более одного общего реквизита, являющихся независимыми разделителями (ОРНР):

1. в часть индексов включается их последовательность (ОРНР1 + ОРНР2+… +)
2. в индексы включается только первый (в дереве конфигурации) из общих реквизитов
3. в индексы включается только их хэш-функция
4. в часть индексов включается их хэш-функция
5. верны ответы 1 и 4
6. верны ответы 2 и 4

Если справочник разделяется одним независимым разделителем, тип которого не Строка, то индекс содержит поле этого разделителя.
Если тип разделителя — Строка, или разделитель независимый и совместный, или разделителей больше одного, то индекс содержит поле значения хэш-функции значений разделителей.
Это правило справедливо для всех индексов, в составе которых указано [ОРРХ | ОРНР1 +].

Источники:
ИТС: Индексы таблиц базы данных

Вопрос 7.31
Для непериодического регистра сведений, подчиненного регистратору, кластерным индексом является:

1. [Измерение 1] + [Измерение 2 + …]
2. Период + [Измерение 1 + …]
3. [Хэш-функция разделителей | Независимый разделитель 1 + ] Регистратор + Период + [Измерение 1 + …]
4. [Измерение 1]
5. [Хэш-функция разделителей | Независимый разделитель 1 + ] Регистратор + НомерСтроки
6. [Последовательность независимых разделителей + ] Регистратор + НомерСтроки

Кластерные индексы для регистра сведений, подчиненного регистратору:

  • непериодический [ОРРХ | ОРНР1 +] + Регистратор + НомерСтроки
  • периодичность любая, кроме подчинения регистратору:
    1. Если есть хоть одно измерение: [ОРРХ | ОРНР1 +] + [Измерение 1 + …] + Период + Активность
    2. Если нет измерений, то кластерный индекс не создается.
  • периодичность по позиции регистратора: [ОРРХ | ОРНР1 +]  [Измерение 1 + …] + Период + Регистратор + НомерСтроки + Активность

Вопрос 7.32
Для справочников, документов, планов видов характеристик, планов обменов, планов счетов, планов видов расчета, бизнес-процессов, точек маршрута бизнес-процессов, задач, кластерным индексом является:

1. [Последовательность независимых разделителей + ] Ссылка
2. [Последовательность независимых разделителей + ] Код + Ссылка
3. [Хэш-функция разделителей | Независимый разделитель 1 + ] Наименование + Ссылка
4. [Хэш-функция разделителей | Независимый разделитель 1 + ] Ссылка
5. [Хэш-функция разделителей | Независимый разделитель 1 + ] Код + Ссылка

Для всех объектных типов данных (справочники, документы и т. д.) в базе автоматически определяется кластерный индекс по полю Ссылка.

Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) стр.86

Вопрос 7.33
Часть индексов могут содержать значения хэш-функции значений разделителей. Что является альтернативой?

1. В конфигурации определен единственный независимый разделитель, тип которого не Строка. Тогда в соответствующих индексах используется его значение.
2. В конфигурации определен единственный независимый разделитель, тип которого не Строка. Тогда в соответствующих индексах используется только его хэш-функция.
3. В конфигурации определен единственный независимый и совместный разделитель. Тогда в соответствующих индексах используется его значение.
4. Альтернативы нет.
5. В конфигурации определены только независимые разделители. Тогда в соответствующих индексах вместо хэш-функций используется их последовательность.

Вопрос 7.34
Каким по счету полем разделитель итогов (Splitter) включается в состав индекса?

1. Первым.
2. Последним.
3. Первым или последним полем, в зависимости от того, о какой таблице идет речь.
4. Последним или предпоследним полем, в зависимости от того, о какой таблице идет речь.

Вопрос 7.35
В каком случае разделитель итогов (Splitter) включается в состав индекса?

1. Если для регистра разрешено и включено разделение итогов.
2. Если для регистра разрешено разделение итогов, и неважно — включено оно или нет.
3. В соответствующих таблицах он есть всегда.

Вопрос 7.36
Как можно увидеть, включен ли разделитель итогов (Splitter) в состав индекса?

1. Через MS SQL Server Management Studio.
2. Через ПолучитьСтруктуруХраненияБазыДанных().
3. Его нельзя увидеть.
4. Верны ответы 1 и 2.

Вопрос 7.37
Применяется ли разделитель итогов (Splitter) в индексе таблицы оборотов регистра накопления?

1. Да, для регистра типа «Обороты».
2. Да, для регистра типа «Остатки и обороты».
3. Да, для регистра типа «Остатки».
4. Нет.
5. Верны ответы 1 и 2.

Вопрос 7.38
Применяется ли разделитель итогов (Splitter) в индексе таблицы остатков регистра накопления?

1. Да, для регистра типа «Обороты»
2. Да, для регистра типа «Остатки и обороты»
3. Да, для регистра типа «Остатки»
4. Нет
5. Верны ответы 2 и 3

Вопрос 7.39
По какой схеме при индексировании измерения ИзмерениеN регистра накопления, регистра бухгалтерии, регистра сведений с периодичностью «по позиции регистратора» будет создан индекс по таблице движений?

1. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Период + Регистратор + НомерСтроки
2. Индексы будут создаваться по разным схемам.
3. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Период + Измерение1 + [Измерение2 +…]
4. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Измерение1 + [Измерение2 +…]

[ОРРХ | ОРНР1 +] Измерение + Период + Регистратор + НомерСтроки — Если измерению «Измерение» задано свойство «Индексировать».

Источники:
ИТС: Индексы таблиц базы данных

Вопрос 7.40
Индексы некоторых регистров содержат поле SimpleKey. Что это?

1. Короткий ключ записи регистра. Поле присутствует у непериодических регистров сведений, имеющих хотя бы одно измерение.
2. Короткий ключ записи регистра. Поле присутствует у всех регистров, имеющих хотя бы одно измерение.
3. Разделитель итогов.
4. Общий реквизит.
5. Хэш функция значений измерений регистра.

Вопрос 7.41
Индексы некоторых регистров содержат поле Splitter. Что это?

1. Короткий ключ записи регистра. Поле присутствует у непериодических регистров сведений, имеющих хотя бы одно измерение.
2. Короткий ключ записи регистра. Поле присутствует у всех регистров, имеющих хотя бы одно измерение.
3. Разделитель итогов.
4. Общий реквизит.
5. UID записи.

Вопрос 7.42
Некоторые индексы первым полем содержат поле с именем, не относящимся к колонкам таблиц регистра, и не являющимся ни периодом, ни регистратором. В составе имени поля есть «Field». Что это может быть?

1. Короткий ключ записи регистра. Поле присутствует у непериодических регистров сведений, имеющих хотя бы одно измерение.
2. Короткий ключ записи регистра. Поле присутствует у всех регистров, имеющих хотя бы одно измерение.
3. Разделитель итогов.
4. Общий реквизит, являющийся независимым разделителем.
5. UID записи.

Вопрос 7.43
Можно ли индексировать ресурсы регистра?

1. Да, у регистров всех типов.
2. Нет.
3. Можно только у регистра сведений.

Вопрос 7.44
Можно ли индексировать реквизиты регистра?

1. Да, у регистров всех типов.
2. Нет.
3. Можно только у регистра сведений.

Вопрос 7.45
Что и куда добавится в индекс, создаваемый для реквизита, если для реквизита справочника вместо «Индексировать» задать «Индексировать с доп. упорядочиванием»?

1. Если свойство «Длина кода» не равно 0, а свойство «Основное представление» равно «В виде кода», в индекс по реквизиту войдет «Реквизит + Код» вместо «Реквизит».
2. Если свойство «Длина наименования» не равно 0, а свойство «основное представление» равно «В виде наименования», в индекс по реквизиту войдет «Реквизит + Наименование» вместо «Реквизит».
3. Если свойство «Длина кода» не равно 0, а свойство «Длина наименования» не равно 0, то в индекс по реквизиту войдет «Реквизит + Код + Наименование» вместо «Реквизит».
4. Войдет «Реквизит + Ссылка» вместо «Реквизит».
5. Верны ответы 1 и 2.

Вопрос 7.46
Можно ли индексировать измерение регистра?

1. Да, всегда.
2. Да, если оно не ведущее.
3. Да, если оно не первое.
4. Да, если оно не базовое.
5. Верны ответы 2 и 4.
6. Верны ответы 2, 3, 4.

Вопрос 7.47
По какой схеме при индексировании измерения ИзмерениеN периодического регистра сведений (НЕ с периодичностью «по позиции регистратора») будет создан индекс? ИзмерениеN не первое и не единственное.

1. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Период + Регистратор + НомерСтроки
2. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Период + Измерение1 + [Измерение2 +…]
3. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Измерение1 + [Измерение2 +…]
4. [Последовательность независимых разделителей + ] ИзмерениеN + Измерение1 + [Измерение2 +…]

Вопрос 7.48
По какой схеме при индексировании измерения ИзмерениеN непериодического регистра сведений будет создан индекс? ИзмерениеN не первое и не единственное.

1. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Регистратор + НомерСтроки
2. [Последовательность независимых разделителей + ] ИзмерениеN + Измерение1 + [Измерение2 +…]
3. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Измерение1 + [Измерение2 +…]

Вопрос 7.49
Некоторые индексы первым полем содержат поле с именем DataSeparationHash. Что это может быть? Выберите наиболее точный правильный ответ.

1. Хэш-функция общих реквизитов.
2. Хэш-функция общих реквизитов, являющихся разделителями.
3. Хэш-функция общих реквизитов, являющихся независимыми и совместными разделителями.

Комментарии

13 комментариев к “«1С:Профессионал» по технологическим вопросам (Раздел 7)”
  1. Правильные ответы по любому с форума чистова берешь=)).
    Интересно 1С подают в суд на блогеров, у меня некоторые задачники»Специалисты» тоже выложены. Письма счастья от 1С пока не получал.

    • irwin:

      С форума Чистова в том числе ))
      Основная цель это не «желтая бумажка», а знания. Но т.к. в каждом разделе есть вопросы, у которых ответы не совпадают с логикой, то приходится такие ответы сверять и зубрить.

  2. Я все зубрил (Проф: ПлатформаЮ Бух, УТ, Зуп) а что то понимал только когда готовился к Спецам.

  3. Александр:

    Вопрос 7.31 верный 6
    непериодический [ОРРХ | ОРНР1 +] + Регистратор + НомерСтроки — такого нет

    http://its.1c.ru/db/metod8dev/content/1590/hdoc/
    Дополнительный индекс для регистра сведений, подчиненного регистратору
    [ОРНР1 + … +] Регистратор + НомерСтроки (Кластерный)

    • Потому что на ИТС информация несколько отличается от того, какие на самом деле индексы создаются. Попробуйте сами поэкспериментировать с регистром. Для платформы 8.3.7 у меня получилась именно такая комбинация, а не как на ИТС.

  4. safer:

    Не согласен с ответом на 7.7. Мне кажется ответ 2. Индексы могут замедлять операции вставки и удаления, тем самым уменьшая производительность СУБД.

    • Да, индексы замедляют операции вставки и удаления. Но при этом они значительно повышают производительность поиска и сортировки. В итоге и общая производительность СУБД также повышается.

      • p.v:

        если индексы плохо спроектированы, то и производительность субд будет ниже. вы уверены что в тестах этот ответ правильный?

      • safer:

        Несогласен. А если в ИБ больше операций записи и удаления, чем чтения?

  5. Павел:

    К вопросу 7.16 не помешало бы пояснение по поводу возможных улучшений плана запроса при индексировании первого измерения регистра. Всегда считалось это бессмысленным (и даже вредным) делом.

    • Да, в книге «Настольная книга 1С:Эксперта по технологическим вопросам» (ред. 2) на стр.218 сказано:

      «Например, никогда не следует дополнительно индексировать первое измерение регистра, поскольку для поиска по значению первого измерения подходит основной индекс таблицы итогов, который автоматически создаст платформа».

      Но по факту все зависит от типа объекта, у которого индексируем первое измерение.
      Возьмем регистр накопления. Платформа создает два индекса для таблицы движений:
      1) «Период + Регистратор + НомерСтроки»
      2) «Регистратор + НомерСтроки».
      Если проиндексировать первое измерение, то создастся дополнительно индекс «Измерение1 + Период + Регистратор + НомерСтроки». Который может быть использован.

  6. safer:

    Вопрос 7.30 — в ответе Вы противоречите своему комментарию. Ответ 1 очевидно неверный. Если таблица разделена несколькими ОРНР, тогда буде использоваться ОРРХ.

Оставьте комментарий

Top