Каким будет ограничение производительности при использовании строк в качестве первичных ключей вместо bigint и т.д.? Сравнение строк намного дороже, чем целочисленное сравнение, но, с другой стороны, я могу себе представить, что внутренне СУБД будет вычислять хеш-ключи, чтобы уменьшить штраф.
Приложение, в котором я работаю, использует строки как первичные ключи в нескольких таблицах (MySQL). Это не тривиально изменить это, и я хотел бы знать, что может быть достигнуто с точки зрения производительности, чтобы оправдать работу.