hex string to binint [postgres]
От: Аноним  
Дата: 29.03.12 21:23
Оценка:
Нужно перевести строку вида "0fad933379d52044" в int (bigint). Средствами базы данных.
Желательно без сложной хранимой процедуры....

Вообще же, задача более общая на самом деле. Есть большая табличка, пока что она 25 лямов записей, но будет расти.
Табличка с двумя полями: id (primay key) и some_txt_key varchar(150), по some_txt_key построен индекс.

Поиск по полю some_txt_key, несмотря на использование индекса, заметно(!) тормознее чем поиск по аналогичным табличкам по полю int8.
Хочу прикрутить вспомогательное поле с int8 в котором будет мой хеш от строки, и дальше поиск организовать по двум полям (ну с учетом там все холлизий разумеется).
По идее субд должна бы сама деелать эффективный хеш, и искать строку так же быстро как и int8, но по каким-то причинам этого не делает.

Посоветуйте или как правильно отиндексировать табличку, или способ как мне из md5(some_txt_key) получить int8.
Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.