Производительность SQL и строки MD5 - PullRequest
1 голос
/ 05 ноября 2008

У меня есть таблица БД, где мы храним много хэшей MD5 (и да, я знаю, что они не уникальны на 100% ...), где у нас много запросов сравнения с этими строками. Эта таблица может стать довольно большой с более чем 5 миллионами строк.

У меня такой вопрос: разумно ли хранить данные в виде шестнадцатеричных строк или мне следует преобразовать шестнадцатеричный код в двоичный или десятичный для лучшего запроса?

Ответы [ 2 ]

1 голос
/ 05 ноября 2008

Двоичные данные - это облом, с которым можно работать вручную, или если вам нужно вывести свои данные в текстовый файл или еще что-то.

Просто поместите индекс в столбец хеша, и все будет в порядке.

1 голос
/ 05 ноября 2008

Двоичный код, вероятно, будет быстрее, так как для текста вы используете 8 бит (полный символ) для кодирования 4 бит данных. Но я сомневаюсь, что вы действительно заметите много различий.

Там, где я нахожусь, у нас очень похожий стол. Он содержит тексты диктовок от врачей для выставления счетов в текстовом столбце (все еще на сервере SQL 2000). Мы приближаемся к четырем миллионам записей, и мы должны иметь возможность проверить наличие дубликатов, когда врач дважды продиктовал одно и то же для целей проверки и соответствия. Диктовка может запускать несколько страниц, поэтому у нас также есть хеш-столбец, который заполняется при вставке через триггер. Столбец имеет тип char (32).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...