Производительность SQL и строки MD5

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

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

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
0
1 016
2

Ответы 2

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

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

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

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

Другие вопросы по теме