2016-06-08 79 views
0

存儲多於1500個字符的長十六進制字符串的最佳方法是什麼?存儲長十六進制值

什麼是最好的類型?

  1. 字節
  2. 文本
  3. 長文本
  4. 的VarChar
+0

你能猜出最大限度嗎? – 1000111

+0

爲什麼不檢查MySQL文檔而不是詢問SOF問題?爲什麼不使用谷歌? Y' – Trix

回答

2
  • BINARY有固定填充和255字節的最大長度, 所以它是沒有對你有好處。
  • VARCHARTEXT具有 65535字節(64KB)兩者的最大長度,並且使用2更額外的字節存儲數據的長度。
  • LONGTEXT具有4294967295字節(4GB) 的最大長度,並且使用4更額外字節存儲數據的長度。

如果你知道你將永遠有比數據的64kB的少你的十六進制字符串,我會選擇TEXT,與LONGTEXT否則去。

+0

'BYTE' - >'BINARY'。 –

+0

@RickJames:是的,你是對的!我修復了我的答案,謝謝。 有一個'CHAR_BYTE'類型,我把它與OP在問題中指出的類型混淆了。 :) – Urban

+0

(我也很困惑。)CHAR(123)BYTE'(沒有下劃線)與'BINARY(123)'相同,並且存在combatibility。 –

0

如果你將它打包成字節(從十六進制),然後VARBINARY(...)BLOB

如果將它保留爲十六進制,則請使用VARCHAR(...) CHARACTER SET asciiTEXT CHARACTER SET ascii。我特別提到ascii,如果你的默認值是utf8;十六進制數字不需要使用utf8。