Имя: Пароль:
1C
 
Праздный вопрос по структуре базы данных 1с
0 anders297
 
02.07.23
12:45
Почему почти все поля, в ms sql имеют тип binary?
особенно непонятно, почему так, для булево и для уникального идентификатора.
1 Волшебник
 
02.07.23
12:52
А Вам зачем это знать?
2 anders297
 
02.07.23
12:59
Для общего развития.
Явно-же там есть какая-то причина, и возможно это даст лучшее понимание принципов работы БД.
4 Garykom
 
02.07.23
13:25
(0) Потому что у 1С своя кодировка строк (4 байта на символ), чисел, дат и даже для булево
Изначально хотели сделать Истина, Ложь или Неопределено (аля NULL) но потом забили
И вот с тех времен и тянется
5 ДедМорроз
 
02.07.23
16:07
Не забываем,что поддерживается несколько sql-сервнров.
6 anders297
 
02.07.23
21:15
А как вы считаете, то что из запроса нет возможности получить идентификатор элемента метаданных, связанно с тем, что он хранится в особом формате? тоесть, на уровне платформы, нужно выполнить какой-то код по преобразованию, а просто sql запросом не вытянешь
7 anders297
 
02.07.23
21:46
Правильно, ли я понимаю, что логика генерация гуида, какая-то такая:
- генерируем новый ГУИД строкового типа.
- поскольку у ГУИДА, символы от 0 до f, то можем каждый символ записать как байтовое представление, без кодирования/декодирования. Хранения в байтовом виде добавляет производительности.
- при записи переставляются местами куски гуида, чтобы усложнить сторонним программам работать с данными напрямую, нарушая политику лицензионости
?
8 anders297
 
02.07.23
21:48
И если бы использовался тип MS SQL uniqueidentifier, то он был-бы такой-же быстрый как binary ?
9 Aleksey
 
02.07.23
22:44
(6) Что такое идентификатор элемента метаданных?
Если имеется ввиду данных, то ставь 22 платформу
если нужен идентификатор метаданных- то выгружай конфигурация в XML и парсь
10 Chai Nic
 
03.07.23
06:55
Потому что любят они велосипеды с квадратными колесами. Переносимость можно было обеспечить и без этого - просто следовать стандарту SQL-92 и всё.
11 orefkov
 
03.07.23
11:03
(7)
GUID это просто 16 байтов - https://ru.wikipedia.org/wiki/UUID
12 ВикторП
 
03.07.23
12:39
(16) в запросе с платформы 8.3.23 можно получить уникальный идентификатор
13 ВикторП
 
03.07.23
12:40
* (6)
14 Garykom
 
03.07.23
15:34
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой