Короткий ответ: да, конечно, это повлияет на производительность, потому что длина ключа напрямую влияет на время, необходимое для перехода по дереву.
Это также влияет на память, так как более длинные ключи занимают больше места, а пространство занимает время.
Однако нюанс, который вам не хватает, заключается в том, что хотя Couch CAN (и делает) выделил для вас новые идентификаторы, этого не требуется. Он будет более чем счастлив принять ваши собственные идентификаторы, а не создавать свои собственные. Таким образом, если длина ключа вас беспокоит, вы можете использовать более короткие ключи.
Однако, учитывая "json" характер couch, это в значительной степени текстовая база данных. В обычном экземпляре Couch не так много двоичных данных (вложения не выдерживают, но даже те, которые, как мне кажется, хранятся в BASE64, могут ошибаться).
Итак, хотя 64-разрядный вариант будет наиболее эффективным, простой факт заключается в том, что Couch предназначен для работы с любой клавишей, а «любая клавиша» наиболее легко выражается в тексте.
Наконец, по правде говоря, стоимость сравнения ключей уменьшается из-за времени выборки дискового ввода-вывода и маршалинга данных JSON (особенно при записи). Любой реальный выигрыш, достигнутый путем преобразования в такую систему, скорее всего, не окажет никакого влияния на реальную производительность.
Если вы хотите по-настоящему ускорить систему ключей Couch, закодируйте процедуру ключей, чтобы заблокировать ключ до длинных 64-бит, и сопоставьте их (как вы сказали). 8 байтов текста - это то же самое, что и 64-битное «длинное целое». Теоретически это даст вам 8-кратное увеличение производительности при сравнении ключей. Могу ли Эрланг создать такой код, я не могу сказать.