04.10.2011 18:51, Roman Yaroshenko пишет:

Вот такой вот запрос:
==========================
SELECT
...
GROUP BY 1
============================
Выдаст наличие совпадений по значению хеша, хотя строки все отличаются.
Я понимаю, что вероятность совпадения значений хеша при разных входных
данных допускается, но не такая же большая.

Какой алгоритм для получения хеша используется и есть ли возможность
выбирать алгоритмы, - ну например: разные алгоритмы - разные названия
функций, или все-таки UDF нам поможет? :)

Ну есть два варианта:

1. Добей пробелами до определенной длины.

2. Забей на хеши - справочник медикаментов не настолько большой чтобы дать реальное ускорение с использованием хеша. Сам юзаю MD5, но он имеет смысл только в синтаксическом разборе, а не в прямом поиске. А прямой поиск тупо делается на индексах по строкам. Даже при моих объемах тормозов особенных не замечено (а объемы поболее чем даже аптечная сеть :-) )

--
Андрей Кручинин
www.med-zakaz.ru
Для особо извращенных - http://мед-заказ.рф :-)

Ответить