|
Создание элементов по своему GUID вредит ли базе? | ☑ | ||
---|---|---|---|---|
0
Megas
30.11.18
✎
10:47
|
В 1С можно создать GUID "Новый УникальныйИдентификатор()" - и он отличается от тех что 1с создаёт по умолчанию для создания Ссылки у нового элемента.
Злые языки говорят: ГУИДы объектов в 1С на самом деле «псевдо». Нумерация их идет строго последовательная (+1). Это позволяет добиться непрерывности в кластерных индексах в которых ГУИД идет первым полем. А если создать свой GUID "Новый УникальныйИдентификатор()" - или получить его со стороны, к примеру пришёл из обмена, да ещё и не 1с ного. То ссылка на основе его будет "выбиваться" из общего строя ссылок. Единственное я что то вообще не понимаю влияет ли это на скорость запросов? И на что это вообще влияет кроме сортировки по Ссылке - чего и так никто не делает. Где об этом почитать? |
|||
1
Вафель
30.11.18
✎
10:48
|
в базе идет упорядоченный гуид для более быстрой вставки
|
|||
2
Вафель
30.11.18
✎
10:48
|
на чтение влиять не будет уже
|
|||
3
Cyberhawk
30.11.18
✎
10:48
|
"кроме сортировки по Ссылке - чего и так никто не делает" // Явно не делает, неявно много где
|
|||
4
Cyberhawk
30.11.18
✎
10:49
|
На сортировку влиять не должно
|
|||
5
1Сергей
30.11.18
✎
10:55
|
>>Нумерация их идет строго последовательная (+1).
Ложь |
|||
6
scanduta
30.11.18
✎
10:59
|
Не вредит
|
|||
7
Serg_1960
30.11.18
✎
11:00
|
(0) Создание "своего" GUIDа, в принципе, вообще ни на что не влияет. И Ваша "непрерывность" тоже ни на что не влияет, никому не нужна. Просто подумайте: есть удаление объектов, есть РИБ (где GUIDы генерятся в различных автономных по сути базах) - "непрерывность" долго не просуществует. Это сферический конь в вакууме.
|
|||
8
1Сергей
30.11.18
✎
11:03
|
http://pics.rsh.ru/img/_rfeuq9e1.png
нумерация идёт последовательно в пределах одного сеанса всего лишь |
|||
9
1Сергей
30.11.18
✎
11:05
|
ну, и сортировка по такому уиду бессмысленна
|
|||
10
Serg_1960
30.11.18
✎
11:05
|
PS: вы тут вспомнили про сортировку по ссылки, а мне в первый момент времени мелькнула мысль да, да про него самого - МоментВремени :)
|
|||
11
Aleksey
30.11.18
✎
11:31
|
Я уже лет 10 в 8-ке свой гуид использую. Удобно для "разделенных" базах
|
|||
12
ptiz
30.11.18
✎
11:35
|
(11) А как генеришь? И для каких объектов?
|
|||
13
SUA
30.11.18
✎
11:35
|
(0)главное чтобы уникальный
и больше ни на что не повлияет тогда |
|||
14
Aleksey
30.11.18
✎
11:43
|
(12) Для всех.
Сначала было тупо путем своего правила преобразования из модовского IDD (17 символов) в гуид (32 символа). В простом случае это выглядит IDD = 12233445566778899 GUID = FFFFFFFF-FFFF-FFF1-2233-445566778899 (У меня чуть сложнее но не суть). Это преобразование работает в обе стороны, я могу и гуид получить и зная гуид получить IDD из которого оно было создано (актуально для сравнения баз) Сейчас, из -за отказа от mod, добавил везде реквизит GUID и для новых объектов формирую его в 7-ке стандартным способом НТТРСистИнформ = СоздатьОбъект("AddIn.V7SysInfo"); Возврат СокрЛП(НТТРСистИнформ.СоздатьGUID()); Ну а в 8-ке это стандартная ссылка, ничего дополнительно не генерирую. Прсто при обменах использую гуид из 7-ки как ссылку в 8-ке |
|||
15
ptiz
30.11.18
✎
11:47
|
(14) Ах вон оно что. Я думал, что цель, например, определять место или дату создания объекта в РИБ 1С8, и свой алгоритм УИДы генерит с этими данными.
|
|||
16
Aleksey
30.11.18
✎
11:54
|
(15) ну у меня быфла цель синхронизация справочников из разных баз с наименьшими телодвижениями
|
|||
17
d4rkmesa
30.11.18
✎
11:56
|
(1) Я как то подобное ляпнул, меня заплевали. Справедливости ради, на новой платформе(или конфе на УФ) почему-то уже совсем не упорядоченные.
|
|||
18
Cyberhawk
30.11.18
✎
11:57
|
(17) В пределах сеанса - вполне упорядоченные
|
|||
19
d4rkmesa
30.11.18
✎
12:01
|
(18) Я спецом поэксперементировал, создавал пустую базу на УФ на актуальной платформе (8.3.12) и сделал несколько элементов справочника подряд. К моему удивлению, ид-ники у них были разные совсем. Если не лень, можно попробовать провести эксперимент.
|
|||
20
Злопчинский
30.11.18
✎
12:05
|
да без проблем. постоянно в базе создаются объекты с чужими гуидами, пришедшими в пакетах обмена. рядовой случай.
|
|||
21
Вафель
30.11.18
✎
12:08
|
(7) влияет конечно же. не зря же MSSQL есть метод sequential id
Как бы вставка вконец таблицы и в середины разные по скорости |
|||
22
1Сергей
30.11.18
✎
12:18
|
(19) попробовал
http://pics.rsh.ru/img/_b7r78e0c.png |
|||
23
Сияющий в темноте
30.11.18
✎
21:08
|
У функции создания гуид в windows есть пакетный режим,когда она может создавать много гуид отличающихся только полем счетчика,соответственно,1с просто вызывает эту функцию один раз,получая множество гуидов,которые потом используются по мере необходимости.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |