Должен ли я хранить XUID как BIGINT или как VARCHAR? - PullRequest
0 голосов
/ 24 января 2019

Официальная документация гласит, что Xuid является неподписанным int64, но я видел, что многие проекты воспринимают его как строку, даже если в их языках проектов есть типы данных для неподписанного int64, такие как C # ulong.

Ну, прямо к делу: Я должен сохранить XUID в базе данных MySQL, и я хотел бы знать, было бы эффективнее хранить его как BIGINT или как VARCHAR (10)

1 Ответ

0 голосов
/ 24 января 2019

Если XUID представляет собой 64-разрядное целое число без знака, то он может иметь значения от 0 до 18,446,744,073,709,551,615.Так что VARCHAR(10) не будет достаточно большим;вам нужно будет использовать VARCHAR(20).

. Это должно быть немного более эффективно (и использовать немного меньше места на диске базы данных), чтобы хранить его как BIGINT UNSIGNED (всегда восемь байтов )чем VARCHAR(20) (до 21 байта в зависимости от величины сохраняемого числа, при условии, что для столбца установлен набор из одного байта на цифру).

...