Пользователи моего приложения могут проходить проверку подлинности с помощью Facebook, поэтому я храню facebook UIDs в моей базе данных, и при входе пользователя в систему ввода нужно запросить мою базу данных, как это:Что такое лучший тип базы данных для хранения UID facebook?
SELECT * FROM users WHERE uid = _SOME_UID_;
Теперь uid
столбец VARCHAR, но я думаю, что Мне нужно преобразовать его в некоторый числовой тип BIGINT.
Почему я думаю, что мне нужно сделать, это:
процессорное время: в общих операций с числовым (фильтрация/индексации) всегда быстрее, чем те же операции со строкой
хранение: числовое значение меньше соответствующей строки
ammm ... oauth-argume нт аутентификация Facebook является единственным типом аутентификации, я собираюсь использовать (actualy, это приложение холста) - так мне не нужно заботиться о UIDs, которые не являются Числовыми
и вопросы :
- Я прав?
- Может ли Facebook когда-нибудь начать использовать нечисловые uids?
Я не думаю, что они когда-нибудь начнут использовать нечисловые идентификаторы, которые вызовут много проблем в их системе (поскольку, я думаю, они используют некоторую проверку формата на asidel userID). Bigint будет прекрасно. –
varchar можно использовать в качестве карты для поиска машины, на которой хранятся данные, и могут использоваться другие незнакомые трюки (вы могли бы сделать то же самое с цифрами, но было бы сложнее получить правильную цифру). Я предполагаю, что использование системы facebook для хранения данных более сложно, чем традиционные базы данных, и потенциально может использовать varchars в своих интересах. Наконец, любой инженер-программист думает о том, чтобы использовать число как ключ в качестве первоначальной мысли. Я уверен, что Facebook подумал об этом и решил использовать варчар по уважительной причине. –