Гость
Форумы / [игнор отключен] [закрыт для гостей] / 1С 8.Х Индексировать по нескольким реквизитам / 25 сообщений из 48, страница 1 из 2
28.09.2014, 17:31
    #38759881
sigmov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
Здравствуйте.

Столкнулся с такой проблемой - как создать один(!) индекс на несколько реквизитов?
Выставление реквизитам {Индексировать = ИСТИНА} приводит к созданию отдельных индексов для каждого реквизита.
А мне нужен, скажем, индекс {Пол, СостоитВБраке, ДатаРождения}

Пока что вижу только путь напрямую создавать индексы в СУБД, но как тогда быть с файловой.......
...
Рейтинг: 0 / 0
28.09.2014, 18:10
    #38759896
trew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
sigmov,

Создание индексов явным образом возможна тремя способами:

1) Установка флага “Индексировать” у поля (реквизита/измерения). Вариант “Индексировать с доп. упорядочиванием” добавляет в индекс поле “Код” или “Наименование” (прежде всего для динамических списков).
2) Добавление поля в “Критерии отбора” (Конфигурация -Общие -Критерии отбора)
3) Указание индексируемого поля в запрос с помощью конструкции “ИНДЕКСИРОВАТЬ ПО”
Код: html
1.
2.
3.
4.
5.
6.
ВЫБРАТЬ
Код,
Наименование
ПОМЕСТИТЬ ВременнаяТаблица
ИЗ Справочник.Номенклатура
ИНДЕКСИРОВАТЬ ПО Код



Если в бд желаете добавить Составной индекс, тогда придумайте префикс для своих индексов. Чтобы отличать свои от 1С.
...
Рейтинг: 0 / 0
28.09.2014, 20:37
    #38759958
sigmov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
trew1) Установка флага “Индексировать” у поля (реквизита/измерения). Вариант “Индексировать с доп. упорядочиванием” добавляет в индекс поле “Код” или “Наименование” (прежде всего для динамических списков).
2) Добавление поля в “Критерии отбора” (Конфигурация -Общие -Критерии отбора)
3) Указание индексируемого поля в запрос с помощью конструкции “ИНДЕКСИРОВАТЬ ПО”
И 1C создает по индексу на каждое поле........
Нужно создать один(!) индекс на несколько полей(реквизитов), а не по индексу на каждое.
...
Рейтинг: 0 / 0
29.09.2014, 09:14
    #38760196
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
sigmovНужно создать один(!) индекс на несколько полей(реквизитов), а не по индексу на каждое. в каком объекте?
...
Рейтинг: 0 / 0
29.09.2014, 12:31
    #38760461
sigmov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
vi0в каком объекте?
Справочник/Документ
...
Рейтинг: 0 / 0
30.09.2014, 11:08
    #38761641
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
sigmovvi0в каком объекте?
Справочник/Документ
можно создать непериодический регистр сведений с измерениями Пол, СостоитВБраке, ДатаРождения
и ресурсом СсылкаНаСправочник.
У непериодического РС создается кластерный индекс по всем измерениям, т.е. избыточного увеличения размера БД не будет.

Если брать ваш пример (Пол, СостоитВБраке, ДатаРождения) то это будет плохой неселективный индекс т.к. поля Пол и СостоитВБраке булевы и оптимизатор скорее всего будет использовать сканирование индекса (если конечно пример индекса реальный)
...
Рейтинг: 0 / 0
30.09.2014, 22:39
    #38762672
user1c
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
Если будет:vi0Если брать ваш пример (Пол, СостоитВБраке, ДатаРождения) то это будет плохой неселективный индекс тогда почемуvi0т.е. избыточного увеличения размера БД не будет.?

К чему вообще этот совет?
...
Рейтинг: 0 / 0
30.09.2014, 23:35
    #38762711
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
Глупый вопрос - но ЗАЧЕМ автору составной индекс тем более в файловой базе...?
...
Рейтинг: 0 / 0
01.10.2014, 00:08
    #38762732
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
user1cК чему вообще этот совет? совет к тому, что не смотря на добавление нового объекта метаданных по объему это будет все равно что создать индекс

а в первом вопросе не увидел противоречия
...
Рейтинг: 0 / 0
01.10.2014, 07:13
    #38762807
Volochkova
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
Программист 1сГлупый вопрос - но ЗАЧЕМ автору составной индекс тем более в файловой базе...?
Даже в Access составной индекс выигрывает раз в 50 у отдельных индексов по каждому полю.

в 1с, если будет изменение объекта, то и индексы могут пересобраться, а рукотворный уйдет в историю.
Придется делать SQL скрипт, если индекс отсутствует, то создать по таким то полям и раз в сутки запускать или после обновления.
...
Рейтинг: 0 / 0
01.10.2014, 09:32
    #38762867
user1c
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
vi0user1cК чему вообще этот совет? совет к тому, что не смотря на добавление нового объекта метаданных по объему это будет все равно что создать индекс

а в первом вопросе не увидел противоречияИндекс который не будет использоваться СУБД по своему прямому назначению не является причиной избыточного увеличения размера БД?
...
Рейтинг: 0 / 0
01.10.2014, 10:06
    #38762903
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
user1cИндекс который не будет использоваться СУБД по своему прямому назначению не является причиной избыточного увеличения размера БД? у ТС был вопрос, я предложил инструмент
какие еще вопросы?
...
Рейтинг: 0 / 0
01.10.2014, 10:36
    #38762948
erp20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
vi0user1cИндекс который не будет использоваться СУБД по своему прямому назначению не является причиной избыточного увеличения размера БД? у ТС был вопрос, я предложил инструмент
какие еще вопросы?Этот ответ все мои вопросы снял. Спасибо.
...
Рейтинг: 0 / 0
01.10.2014, 10:37
    #38762953
erp20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
erp20vi0пропущено...
у ТС был вопрос, я предложил инструмент
какие еще вопросы?Этот ответ все мои вопросы снял. Спасибо.Сам такими же методами пользуюсь. Только подписки приходится рисовать что бы индексы наполнялись данными.
...
Рейтинг: 0 / 0
01.10.2014, 10:44
    #38762966
user1c
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
erp20vi0пропущено...
у ТС был вопрос, я предложил инструмент
какие еще вопросы?Этот ответ все мои вопросы снял. Спасибо.А мои нет. Я так и непонял целесообразность этой рекомендации. Индекс ради индекса? Их таких итак в типовых решениях много.
...
Рейтинг: 0 / 0
01.10.2014, 11:23
    #38763036
sigmov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
Volochkovaв 1с, если будет изменение объекта, то и индексы могут пересобраться, а рукотворный уйдет в историю.
Придется делать SQL скрипт, если индекс отсутствует, то создать по таким то полям и раз в сутки запускать или после обновления. О! Спасибо за ответ. Ближе всего к тому что нужно.

1. Получается каждый раз, когда 1С накатывает метаданные на СУБД - таблицы будут перестроены и индексы уйдут в небытие?
2. Где увидеть удобоваримой форме размещение объектов и их реквизитов в СУБД. А то в СУБД данные из 1С хранятся в виде, типа Reference12.Field9, и поди догадайся что это Контрагент.Телефон ))).... ?
3. Вы сами используете "рукотворные индексы" ? Помогает?
...
Рейтинг: 0 / 0
01.10.2014, 13:13
    #38763230
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
user1cЯ так и непонял целесообразность этой рекомендации. Индекс ради индекса? Их таких итак в типовых решениях много. использование РС для основной фильтрации и последующее inner join со справочником
...
Рейтинг: 0 / 0
01.10.2014, 14:38
    #38763338
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
VolochkovaПрограммист 1сГлупый вопрос - но ЗАЧЕМ автору составной индекс тем более в файловой базе...?
Даже в Access составной индекс выигрывает раз в 50 у отдельных индексов по каждому полю.

в 1с, если будет изменение объекта, то и индексы могут пересобраться, а рукотворный уйдет в историю.
Придется делать SQL скрипт, если индекс отсутствует, то создать по таким то полям и раз в сутки запускать или после обновления.Причем тут скуль и файловая база? Вопрос к автору остался.
...
Рейтинг: 0 / 0
01.10.2014, 16:08
    #38763544
sigmov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
Программист 1сПричем тут скуль и файловая база? Вопрос к автору остался.Программист 1сЗАЧЕМ автору составной индексДля более быстрого поиска данныхПрограммист 1стем более в файловой базе...?Для более быстрого поиска данных в файловой(!) базе ))))

P.S. От себя замечу, что "скуль" - это язык запросов. А данные все равно лежат в файлах на жестком диске, хоть "скуль" хоть NO "скуль"
...
Рейтинг: 0 / 0
01.10.2014, 19:46
    #38763913
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
sigmovПрограммист 1сПричем тут скуль и файловая база? Вопрос к автору остался.Программист 1сЗАЧЕМ автору составной индексДля более быстрого поиска данныхПрограммист 1стем более в файловой базе...?Для более быстрого поиска данных в файловой(!) базе ))))

P.S. От себя замечу, что "скуль" - это язык запросов. А данные все равно лежат в файлах на жестком диске, хоть "скуль" хоть NO "скуль"Тоесть Вы используете ФАЙЛОВУЮ базу для более быстрого поиска?

Ps Вы можете мне сказать откуда у Вас информация что для файловой базы в внутренних запросах будут использоваться данные индексы?
...
Рейтинг: 0 / 0
02.10.2014, 02:13
    #38764151
Volochkova
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
sigmovПрограммист 1сПричем тут скуль и файловая база? Вопрос к автору остался.Программист 1сЗАЧЕМ автору составной индексДля более быстрого поиска данныхПрограммист 1стем более в файловой базе...?Для более быстрого поиска данных в файловой(!) базе ))))

P.S. От себя замечу, что "скуль" - это язык запросов. А данные все равно лежат в файлах на жестком диске, хоть "скуль" хоть NO "скуль"


Мой совет только для MS SQL редакции ( не файловый вариант).

С файловым дело плохо.
Видела я где то "конфигуратор", чтобы индексы были составными, но темка была платная.
...
Рейтинг: 0 / 0
02.10.2014, 08:07
    #38764224
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
sigmovP.S. От себя замечу, что "скуль" - это язык запросов. А данные все равно лежат в файлах на жестком диске, хоть "скуль" хоть NO "скуль" рано вам составными индексами заниматься)
...
Рейтинг: 0 / 0
02.10.2014, 12:58
    #38764685
sigmov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
vi0рано вам составными индексами заниматься)
))) да уж. Всего-то 4 года занимался MsSql, MySql, Cache'. Теперь разбираюсь как заставить 1С'ку шустрее вертеться и стал "маленьким" для составных индексов.
Впрочем у меня обратное мнение - многие из 1Сников, в принципе не знакомы с индексированием данных, поэтому мой вопрос т вызывает в их среде закономерное непонимание(а че, есть же св-во индексировать), раздражение(ну мы же и так работаем) и желание позубоскалить )))
...
Рейтинг: 0 / 0
02.10.2014, 13:03
    #38764696
sigmov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
VolochkovaМой совет только для MS SQL редакции ( не файловый вариант).
С файловым дело плохо.
Видела я где то "конфигуратор", чтобы индексы были составными, но темка была платная.
Спасибо за ответ.
Да я уже понял что в платформе составные индексы не поддерживаются(ну кроме генерируемых платформой для хранения ), а в саму файловую БД в обход платформы не залезешь. Это печально, но так.

Тем не менее остаются еще внешние реляционки, поддерживаемые платформой - MsSql, Oracle, PgSql, DB2

Ваш ответ был информативным, поэтому вдруг Вы сможете и на следующие ответить:
1. Получается каждый раз, когда 1С накатывает метаданные на СУБД - таблицы будут перестроены и индексы(созданные в обход платформы) уйдут в небытие?
2. Где увидеть удобоваримой форме размещение объектов и их реквизитов в СУБД. А то в СУБД данные из 1С хранятся в виде, типа Reference12.Field9, и поди догадайся что это Контрагент.Телефон ))).... ?
3. Вы сами используете "рукотворные индексы" ? Помогает?
...
Рейтинг: 0 / 0
02.10.2014, 17:33
    #38765180
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С 8.Х Индексировать по нескольким реквизитам
sigmov,
Какого рода выборки вы хотите оптимизировать? В прикладных терминах. 1с построена так что выборки в подавляющем большенстве случаев формируются из регистров, а они содержат составные индексы.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / 1С 8.Х Индексировать по нескольким реквизитам / 25 сообщений из 48, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]