Re[2]: Ключи в базе - гуиды, 80 символов и прочая чухня
От: Pavel Dvorkin Россия  
Дата: 27.11.21 11:59
Оценка: :))
Здравствуйте, vsb, Вы писали:

vsb>Недавно проектировал новый сервис, думал над этим вопросом. Всё же решил остаться на числовых id. Как ни крути, а компактность решает. GUID-ы будут замедлять все аспекты СУБД.


Вот это мне, кстати, не совсем понятно. Если я правильно понимаю, GUID обычно хранится как текстовая строка. Сравнивать числа, представленные в виде текстовой строки, на <> не очень удобно и не быстро.
А между тем это 128 битное целое. И сравнение 128-битных целых на <> в 64-битном коде ничем не отличается от сравнения 64-битных целых в 32-битном коде, а это еще в прошлом веке вполне умели, и ненамного это медленнее было сравнения 32-битных целых.

В MS SQL вроде есть тип guid, и представляют в виде 16-байтного массива. В MySQL не видел ничего подобного.


>Да и сортировка по id это удобно. Считаю, что GUID-ы однозначно оправданы в распределённых системах, где несколько однотипных СУБД.


Есть и еще один фактор — UNION. Вот тут описано

https://www.sqlshack.com/understanding-the-guid-data-type-in-sql-server/

vsb>80 маловато, я для себя 120 стандартом держу.


Нарушаешь обратную совместимость. А если придется обратно на перфокарты переходить ?
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.