|
Кластеризованный индекс (Баг?) | ☑ | ||
---|---|---|---|---|
0
aMz
22.09.15
✎
09:22
|
Вопрос к знатокам. на платформе 1С:Предприятие 8.3 (8.3.6.2076) при создании периодического регистра сведений, строиться не правильный кластеризованный индекс, а именно кластиризуется он по измерениям, период становиться последним, то есть записи в таблицы не упорядоченны по периоду.Стало интересно, это за "фича", в описании и поиск в гугле не дает ничего. Есть, кто сталкивался с этим?
|
|||
1
aMz
22.09.15
✎
09:27
|
То есть расширю чуть-чуть описание: Если взять и скопировать старый регистр ничего не меняя. Кластеризованные индексы будут разные, это явно пришло с каким то релизом. Но зачем?
|
|||
2
H A D G E H O G s
22.09.15
✎
09:38
|
1) записи упорядочены по периоду
2) период переместили вконец в платформе 8.3 |
|||
3
aMz
22.09.15
✎
10:01
|
(2) В таблицах SQL не упорядоченны.
|
|||
4
H A D G E H O G s
22.09.15
✎
10:04
|
(3) упорядочены
|
|||
5
aMz
22.09.15
✎
10:08
|
(4) ладно, есть объяснение зачем так было сделано?
|
|||
6
Shamandafil
22.09.15
✎
10:12
|
В 8.3 появились таблицы, хранящие срез первых-последних, срезы стало можно получать без индекса по периоду.
|
|||
7
aMz
22.09.15
✎
10:13
|
(3) Могу выложить скрин, где они не упорядоченны.
|
|||
8
aMz
22.09.15
✎
10:17
|
Выходит, что всё это было сделано для мертворожденных таблиц, которые выдают ошибки?
|
|||
9
aMz
22.09.15
✎
10:17
|
я про срезы первых-последних
|
|||
10
H A D G E H O G s
22.09.15
✎
10:18
|
(5) если какое то поле таблицы входит в кластерный индекс - таблица автоматом упорядочивается по этому полю. Такие уж законы этой Вселенной.
|
|||
11
Гёдза
22.09.15
✎
10:19
|
Зачем? Наверно посчитали что с периодом в конце индекс будет более селективным
|
|||
12
Гёдза
22.09.15
✎
10:20
|
Если нужно на форме, просто устанавливай порядок программно
|
|||
13
Зеленый пень
22.09.15
✎
10:26
|
(10) Но таблица упорядочивается по первому полю кластерного индекса. И если первое поле - не период, то собрать данные по периоду - уже не обойдешься кластерным индексом.
Разве не так? |
|||
14
Shamandafil
22.09.15
✎
10:28
|
(13) Данные по измерениям и периоду можно получить по не кластерному индексу. Он ведь есть.
|
|||
15
H A D G E H O G s
22.09.15
✎
10:32
|
(13) таблица упорядочивается по всем полям кластерного индекса
|
|||
16
Гёдза
22.09.15
✎
10:35
|
(13) по периоду вроде отедельный индекс есть
|
|||
17
Зеленый пень
22.09.15
✎
10:36
|
(15) Моё воображение отказывается представить таблицу, упорядоченную одновременно по всем полям :)
|
|||
18
H A D G E H O G s
22.09.15
✎
10:40
|
(17) печально
|
|||
19
Гёдза
22.09.15
✎
10:41
|
(17)
1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 |
|||
20
vde69
22.09.15
✎
10:41
|
предположу, что сабж сделан для более оптимальных запросов где есть отбор по измерениям но нет отбора по периоду.
то есть частичное использование индекса возможно только при известном начале индекса, в случае когда первым шел период - это не работало... |
|||
21
H A D G E H O G s
22.09.15
✎
10:42
|
Тз.сортировать("номенклатура,серияноменклатуры");
Воображение может представить? |
|||
22
Зеленый пень
22.09.15
✎
10:45
|
(21) Запросто. Только при поиске нужой серии будет index scan, а не index seek
|
|||
23
H A D G E H O G s
22.09.15
✎
10:48
|
(22) как indexscan коррелирует с "не могу представить себе таблицу упорядоченную по неск. Полям"?
|
|||
24
brznzglwgn
22.09.15
✎
10:49
|
Индекс с периодом в начале остался, просто он перестал быть кластерным.
|
|||
25
Зеленый пень
22.09.15
✎
10:50
|
(23) В (21) таблица упорядочена только по одному полю - "Номенклатура".
"серияноменклатуры" - упорядочена внутри номенклатуры, но вся таблица по серии - не упорядочена. |
|||
26
H A D G E H O G s
22.09.15
✎
10:54
|
(25) хорошо, ты выразился более правильно, но обычно говорят именно "таблица упорядочена по набору полей". Вон, даже Анатолий, обычно не пропускающий мои посты, все корректно воспринял и привел пример.
|
|||
27
Зеленый пень
22.09.15
✎
11:02
|
Но изменения интересные.
Выходит, теперь Срез с отбором по измерениям может строиться быстрее. |
|||
28
Shamandafil
22.09.15
✎
11:11
|
(24) И для большинства применений он остался покрывающим.
|
|||
29
vogenut
22.09.15
✎
11:29
|
(0) Еще в 8.3.1 сделали, но в доке указали почему-то только для DB2.
При использовании СУБД IBM DB2 создаются кластерные индексы: регистры сведений - Измерения, Измерения+Период, Регистратор+Номер, Измерения+Период+Регистратор+Номер, Измерения+Период (в зависимости от типа регистра). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |