Мне сказали, что (по крайней мере для реляционной базы данных) типы индексов были важны, когда речь шла о сравнении двух значений, что является довольно простой c операцией, выполняемой несколько раз для каждого поиска.
Итак я рекомендовал хранить свои индексы в виде чисел (32 бита для длинных), а не строки (8 бит / символ), учитывая следующее
key:"1234567890" => 80bits ASCII-string
key: 1234567890 => 32bits uLong
generated:"hgYTTd4p63pdTtOR1wFG" => 160bits
Насколько мне кажется, firestore не позволяет указать тип ключа для документа (выдает ошибку «путь должен быть строкой»), а также тип-размер, но генератор идентификаторов по умолчанию представляет собой оптимизированную строку с использованием верхнего и нижнего регистра ASCII
Мой вопрос: есть ли типы индекса что сейчас ничего не стоит? Как это работает? Могу ли я безопасно превратить любой числовой ключ в строку, ничего не замедляя, или мне лучше использовать генератор идентификаторов по умолчанию, чтобы получить самый короткий ключ?