我已經看到了多個尺寸,我不想浪費在MySQL字段上的服務器內存,因爲它爲太多字符保留了太多空間。他們能夠獲得的最大收益是什麼,並且這會不會改變?什麼是最大值。 Facebook用戶的長度?
回答
這是整數溢出,integer-> string migrations等等,通過使數據類型過於限制。在128b varchar的幾個字節上跳出來,節省您在路上的麻煩。如果您的用戶基礎變得如此之大以至於您需要擔心通過處理UID的數據類型來節省多少字節,請認爲自己是一個巨大的成功,這是您將很樂意解決的問題。
簡短的回答,我不認爲任何人都能回答你的問題,「永遠」很長一段時間,誰知道Facebook有多少實體奴役。
我會以最好的一個人的話引用結尾;
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.
—Donald E. Knuth
同意。謝謝! =) –
這是一個很好的答案。我只是有這個確切的問題。以前,我係統中的所有Facebook ID都不超過10位數字,但Facebook最近更改了這個ID,所以ID是15位數字。我開始看到具有相同Facebook ID的多個用戶,並且不認識到「ID」實際上是最大整數值。我把我的領域改爲了一個varchar,併爲後人提供了大量的填充。 – Gavin
對於VARCHAR +1因爲這樣:Javascript中的parseInt(「10208914157005637」)返回10208914157005636 !!! –
你怎麼能確定這永遠不會改變?最好使它成爲一個varchar。
Facebook的UID永遠不會改變,因爲它是他們數據庫中的唯一標識符。如果它改變,那麼Facebook將停止工作
不會下注,他們可以例如決定切換到使用字母數字UID而無需更新現有的..這當然不太可能改變,但從來沒有說過從來沒有... – ivanhoe
我知道這是一箇舊帖子,但谷歌帶我到這裏。 Facebook的UIDs確實在這個時候改變!每個Facebook應用程序都會看到具有不同UID的相同用戶。 AppId + UserId的組合應該永遠不會改變,因爲它被設計爲由Facebook應用程序處理,所以你很可能依靠它。 此刻,我的測試指出用戶ID爲17個字符長。此時,我在facebook上將它聲明爲facebook_id varchar(50),因爲你永遠不知道下一個用戶的id是什麼。 :-o –
目前,Facebook UID是64位整數。但我不能保證有一天不會改變。
- 1. 什麼是apache的最大url長度?
- 2. 什麼是clientUserId的最大長度
- 3. 什麼是Facebook牆帖的最大消息長度
- 4. 什麼是最大SMS消息長度?
- 5. Firebase的用戶屬性值的最大長度是多少?
- 6. ENUM值的最大長度是多少?
- 7. 什麼是SSRS中的文本框的最大長度
- 8. 什麼是將被散列的字符串的最大長度?
- 9. 什麼是SDDL格式的SID的最大長度
- 10. 什麼是類型名稱的.NET中的最大長度
- 11. memcached中的最大密鑰長度和最大值是多少?
- 12. 什麼是資源名稱的最大長度?
- 13. 什麼是Google Drive api令牌的最大長度?
- 14. 什麼是MySql文本列的最大字符長度?
- 15. 什麼是HTML標識的實際最大長度?
- 16. 什麼是Oracle中的最大語句長度
- 17. 什麼是Windows註冊表項名稱的最大長度?
- 18. 什麼是Azure blob名稱的最大長度
- 19. 什麼是HTML文本框的最大長度
- 20. 爲什麼存儲過程名稱的最大長度是?
- 21. 什麼是價值的最大長度爲(在InternetExplorer的)的HTML輸入表單
- 22. 最大長度是多少?
- 23. 最大MySQL用戶密碼長度
- 24. 用戶輸入最大長度處理
- 25. 獲取列值的長度,而不是列的最大長度值
- 26. 什麼是ID的最大大小/長度,尤其是評論ID
- 27. 最大長度
- 28. Facebook API:牆上的'留言'的最大長度是多少?
- 29. 什麼是.net核心默認最大請求長度
- 30. Facebook名稱的最大長度是多少?
文檔中沒有任何限制。至於「它會不會改變」 - 這就是我們正在談論的Facebook;急劇的API變化是司空見慣的。所以,儘管UID非常重要,但我不會相信FB *不會*在未來的任何時候改變它,因爲他們可能會感覺如此。最好把它當作一串不透明的字符。 – Piskvor
對於Mysql,請使用UNSIGNED BIGINT;請參閱:http://stackoverflow.com/questions/2172126/user-id-big-int-int-or-string – Costa