2017-07-04 56 views
0

使用PHP,我將序列化的對象存儲在MySQL數據庫中。PHP + MySQL - 應使用哪種列類型來存儲序列化對象?

我應該使用哪種列類型?我目前使用「LONGTEXT」,因爲它基本上是一個字符串。

它的工作,但我擔心,更大的對象可能無法正確保存。

我應該使用哪種列類型?

+0

不得不懷疑是否實際上更有意義,不能序列,並把它們歸表結構。 –

+0

爲什麼?由於長度限制? –

+0

這是一個因素,另一個能夠搜索和索引列的能力,你可以更容易地看到關係,最終可以減少重複數據等等。這個列表繼續下去。 –

回答

0

始終使用BLOB類型來存儲序列化對象。

使用MEDIUMBLOB或只是BLOB,只要這些類型都足以存儲您的序列化的數據。

BLOB類型擁有較大的對象,並且是二進制安全的。

瞭解更多關於BLOB

+0

最大長度爲16777215(2^24 - 1)個字符的二進制大對象列。最大長度爲4294967295(2^32 - 1)個字符的二進制大對象列。 A ** BLOB **最大可以是65535個字節。如果您需要更多考慮使用** MEDIUMBLOB ** 16777215字節或** LONGBLOB ** 4294967295字節。 –

+0

這取決於你的序列化方法。 JSON是UTF-8,應該像這樣存儲,並且MySQL 5.6具有「JSON」列類型。 – tadman

0

BLOB,可以容納各種類型的數據。

https://dev.mysql.com/doc/refman/5.7/en/blob.html

這是柱類型i用於在數據庫中存儲的對象最近。

希望這有助於

+0

謝謝!使用LONGBLOB,你知道什麼是長度限制? –

+0

我的假設是你不需要LONGBLOB,它的大小限制是4GB – JParkinson1991

+0

謝謝!你知道我在哪裏可以找到每個BLOB的大小限制? –

相關問題