Имя: Пароль:
1C
1С v8
Несколько вопросов при индексацию
0 ksenod
 
07.12.18
08:43
Добрый день, прочитал несколько статей про неё, но так и не понял когда же все-таки её использовать. Когда вы понимаете что вот сейчас вот индексация оправдана и ускорит процесс слияния таблиц.
И ключи каких таблиц нужно индексировать при:
1)левом соединении
2)правом
3)Полном соединении
1 Deon
 
07.12.18
08:55
О, это хороший вопрос. Я вот хоть и использую индексы, но однозначно на него ответить не могу.
Кстати, правое соединение не встречал я ни разу.
И, зачастую, индексов, создаваемых платформой, достаточно
2 H A D G E H O G s
 
07.12.18
08:56
4) Никаком соединении
3 Deon
 
07.12.18
09:00
(2) А никакое отличается от полного?
4 H A D G E H O G s
 
07.12.18
09:05
(3) Да.
По использованию индексов в соединениях можно создавать отдельное учение, настолько там много ньюансов.
5 Deon
 
07.12.18
09:08
(4) Я бы, кстати, с удовольствием прошел по этой теме обучение. Ибо вопросов много
6 H A D G E H O G s
 
07.12.18
09:09
Индекс в соединении:
1) Напрямую, именно для поиска, используется в том редком случае, когда соединяются 2 таблицы, одна из которых крайне больше другой. Используется индекс большей таблицы.
2) Ньюанс 1: Индекс используется для упорядоченной выборки по нему, так как данные в нем отсортированы. Тоесть, он не используется для поиска, в классическом понимании, он используется тогда, когда данные для соединения требуются отсортированные (mergejoin)
3) Ньюанс 2: Если в результате запроса будут поля только входдящие в индекс (не требующие обращения к кластерному индексу) - будет использовано чтение индекса, так как читать некластерный индекс быстрее, чем кластерный.
7 Deon
 
07.12.18
09:10
Вот например, когда я в пакете создал 1м запросом временную таблицу с индесами, а во 2м соединяю её левым соединением со СрезомПоследних, то какие используются индексы?
8 Marik1274
 
07.12.18
09:15
(1) Правое соединение волшебным образом превращается... в левое!
9 Deon
 
07.12.18
09:16
(8) Точно )
10 MyNick
 
07.12.18
09:19
Правым соединением наверное арабам удобнее пользоваться :)
11 Мыш
 
07.12.18
09:20
(8) Неужели от перестановки слагаемых сумма не меняется? )))
12 H A D G E H O G s
 
07.12.18
09:49
1C-ники пытаются в индексацию:
https://coub.com/view/12po9q
13 ksenod
 
07.12.18
10:48
(6) что значит крайне больше другой? на сколько записей/%? стоит ли индексировать номенклатуру при скажем ~4500 записях в каждой таблице?
14 Xapac
 
07.12.18
10:51
(1)если вы будете создать индексы не средствами платформы, а средствами СУБД - вы будете нарушать лицензионное соглашение(с)
16 el-gamberro
 
07.12.18
11:41
По которым соединять будешь то тем и индексируй.

ЗЫ Вопрос простой, странно что у кого-то это вызывает затруднения.
17 Роман Петушарский
 
07.12.18
11:41
(0) иногда индексация полей соединения временных таблиц позволяет избавиться от table spool'ов
18 Fragster
 
гуру
07.12.18
11:43
19 Роман Петушарский
 
07.12.18
11:43
(16) если индексы не будут использоваться, зачем индексировать?
20 Fragster
 
гуру
07.12.18
11:44
а то глаз дергается
21 ksenod
 
07.12.18
14:55
(16) вопрос в другом, когда время затраченное на индексацию будет оправдывать её использование. Как понять эту границу. Вот если я буду соединять огромную таблицу(100 000 записей) с кучей мелких(по 50) я буду её индексировать и это понятно, а нужно ли индексировать если я сливаю 2 таблицы по 4500?
22 Очевидно
 
07.12.18
14:59
(21) На курса по "подготовка к 1С эксперту" говорят :
Выгода определяется опытным путем, и в каждом конкретном случае придётся отдельно принимать решение индексировать или нет.
23 Очевидно
 
07.12.18
15:01
(21) На вопрос "Со скольких строк нужно задумываться об индексировании" - ответ один "С того количества, при котором с использованием индекса вы получите прирост в производительности."