Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по STANDARD_HASH / 5 сообщений из 5, страница 1 из 1
09.04.2019, 23:40
    #39799059
Вопрос по STANDARD_HASH
Всем добрый день,

создал виртуальное поле в таблице посредством функции HASH_ID :

Код: plaintext
 HASH_ID VARCHAR2(2000 CHAR) GENERATED ALWAYS AS (CAST(STANDARD_HASH(TO_CHAR("COLUMN1",'DD.MM.RR')||"COLUMN2") as VARCHAR2(2000))) NOT NULL

Известно, что аргумент функции уникальный. Выражение STANDARD_HASH должно тоже возвращать уникальные значения.
Скажите, могут ли возникнуть проблемы с
1. уникальностью (Правильно а понимаю, что SHA1 = 160-bit (20-byte)?)
2. с переводом RAW в VARCHAR2 посредством CAST

Заранее спасибо.

Oracle 12.1.0.2.0
...
Рейтинг: 0 / 0
10.04.2019, 04:13
    #39799102
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по STANDARD_HASH
Hans Christian AndersenВыражение STANDARD_HASH должно тоже возвращать уникальные значения.
Не должно.
...
Рейтинг: 0 / 0
10.04.2019, 07:45
    #39799126
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по STANDARD_HASH
Hans Christian AndersenИзвестно, что аргумент функции уникальный.Так и нахера тогда козе боян?
Hans Christian AndersenВыражение STANDARD_HASH должно тоже возвращать уникальные значения.Как сказочник не понимаешь, что "вероятность стремится к нулю" не означает "=0"?
Hans Christian Andersenпереводом RAW в VARCHAR2 посредством CASTСказочник не понимает что заклятием произвольные байты в символы не преобразуются?
...
Рейтинг: 0 / 0
12.04.2019, 16:17
    #39800653
chidoriami
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по STANDARD_HASH
Hans Christian AndersenСкажите, могут ли возникнуть проблемы с
1. уникальностью (Правильно а понимаю, что SHA1 = 160-bit (20-byte)?)

вероятность коллизий (проблем с уникальностью) есть, но крайне мала.
скорее всего, вы с ней не столкнетесь.
и да, 20 байт.

Hans Christian Andersen2. с переводом RAW в VARCHAR2 посредством CAST
оракл и не такое нормально жрет обрабатывает.
вопрос только в том, а надо ли переводить в варчар?
по мне, и raw нормальный тип.
при приведении типов

и также вопрос - почему поле виртуальное?
оно ведь будет высчитываться заново при каждом обращении.
это может быть не гуд.

p.s.
один из коллег утверждает, что проводил сравнения разных функций расчета хеша и алгоритмов.
по его словам, STANDARD_HASH с MD5 быстрее всех остальных вариантов.
правда, MD5 дает 16 байт, т.е. теоретически выше вероятность коллизий =)
но все еще близка к 0
...
Рейтинг: 0 / 0
12.04.2019, 18:25
    #39800716
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по STANDARD_HASH
chidoriami быстрее всех остальных вариантовЭто точно. Все остальные варианты потому и называют остальными, потому что все.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по STANDARD_HASH / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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