powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / уникальный идентификатор для строки
12 сообщений из 12, страница 1 из 1
уникальный идентификатор для строки
    #34372060
sonne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

В MySQL есть функция MD5(строка произвольной длины) - возвращает 32 символьную строку по входной строке; но для строк, длина которых не превышает 256 знаков, а средняя длина в районе 60 знаков, 32 символа кажется избыточно. Вопрос: для строк указанной длины скольки битное значение обеспечит хотя бы теоретическую уникальность? И какие алгоритмы могут это реализовать? В каком направлении искать?
...
Рейтинг: 0 / 0
уникальный идентификатор для строки
    #34372072
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если не хочешь md5, можешь юзать crc32
...
Рейтинг: 0 / 0
уникальный идентификатор для строки
    #34372078
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда на выходе функции меньше значений, чем на входе, то уникальности не жди. Особенно теоретической.

Распиши конкретнее, что именно надо и в каком языке/среде разработки/СУБД.
...
Рейтинг: 0 / 0
уникальный идентификатор для строки
    #34372785
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сократить длину хэша можно за счет расширения набора символов, используемого в хэше.

В первом приближении: берем все символы которые могут встречаться в исходном тексте (допустим - 40 со знаками препинания, но без учета регистра) и возведем в степень равную максимально возможной длине исходной строки (в нашем случае 256). Как результат получим количество теоретически возможных (в том числе абсолютно бессмысленных с точки зрения грамматики и т. п.) уникальных сочетаний (40^256).

Для покрытия этого количества сочетаний хэш должен обеспечивать не меньшую мощность, т. е. тоже давать 40^256 сочетаний. Уменьшая длину хэша, мы можем достигнуть увеличения его мощности за счет расширения диапазона используемых символов (если использовать все что дает один байт, то теоретически это 256 символов).

Теперь считайте сами: 256^x=40^256

К этим рассуждениям надо добавить что:

осмысленных строк состоящих из одних запятых или букв "а" не бывает, так что мощность множества исходных строк можно как то сократить.


существующая функция md5 здесь не поможет, так как она не способна расширять диапазон используемых символов.


для теоретической уникальности 32 символов недостаточно :) а для практической это то что надо (так что пользуйтесь на здоровье функцией md5 и не морочьте людям голову)
...
Рейтинг: 0 / 0
уникальный идентификатор для строки
    #34373327
sonne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftРаспиши конкретнее, что именно надо и в каком языке/среде разработки/СУБД.

Есть два множества строк, нужно из первого выбрать строки, которых нет во втором; и из второго выбрать строки, которых нет в первом. Данные лежат на MySQL, пишу на VBScript (WSH). Перебор не строк, а их 32-х символьных идентификаторов сильно скорости не прибавил. Похоже надо играться с индексами строк.
...
Рейтинг: 0 / 0
уникальный идентификатор для строки
    #34373341
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A
Код: plaintext
LEFT JOIN
применить в запросе не пробовали?
...
Рейтинг: 0 / 0
уникальный идентификатор для строки
    #34373355
Фотография Палестинец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В MySQL есть функция MD5(строка произвольной длины)

Есть два множества строк, нужно из первого выбрать строки, которых нет во втором; и из второго выбрать строки, которых нет в первом. Данные лежат на MySQL, пишу на VBScript (WSH). Перебор не строк, а их 32-х символьных идентификаторов сильно скорости не прибавил. Похоже надо играться с индексами строк.

бляха муха.. IT мертво..
...
Рейтинг: 0 / 0
уникальный идентификатор для строки
    #34373379
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, Палестинец!
Ты пишешь:

ПалестинецП> бляха муха.. IT мертво..нет.
это просто такой спецконтингент на MySQL сидит.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
уникальный идентификатор для строки
    #34373463
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sonne miksoftРаспиши конкретнее, что именно надо и в каком языке/среде разработки/СУБД.

Есть два множества строк, нужно из первого выбрать строки, которых нет во втором; и из второго выбрать строки, которых нет в первом. Данные лежат на MySQL, пишу на VBScript (WSH). Перебор не строк, а их 32-х символьных идентификаторов сильно скорости не прибавил. Похоже надо играться с индексами строк.Это делается одним или двумя SQL-запросами. Один запрос или два - зависит от постановки задачи.
В любом случае, с подробным описанием задачи и версией MySQL добро пожаловать на форум MySQL
...
Рейтинг: 0 / 0
уникальный идентификатор для строки
    #34373570
sonne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я двумя запросами и делаю.Только они Cel2G\1G оперативки вешают на час так, что винда как дохлый таракан. Вот и ищу способ, как запросы убыстрить. Если бы у строки был к примеру 32 битный идентификатор, так оно бы летало наверное, а так перелопать ка эти строки.
...
Рейтинг: 0 / 0
уникальный идентификатор для строки
    #34373595
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sonneЯ двумя запросами и делаю.Только они Cel2G\1G оперативки вешают на час так, что винда как дохлый таракан. Вот и ищу способ, как запросы убыстрить.Опять же на форуме MySQL приведите ваш запрос и его план, описание таблиц и индексов, версию MySQL и используемый движок. Неплохо бы еще количества записей в таблице и прогнозируемое количество записей в результате.
...
Рейтинг: 0 / 0
уникальный идентификатор для строки
    #34374037
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поддеживаю идею насчёт индексов.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / уникальный идентификатор для строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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