2015-11-25 103 views
5

我正在構建一個Laravel應用程序,核心功能是用相當大的JSON對象驅動的。 (最大的在1000-1500行之間)。什麼是在MySQL中存儲相當大的JSON對象的最佳方式

我知道有比MySQL更好的數據庫選擇來存儲文件和數據塊,但由於各種原因,我將需要使用MySQL作爲應用程序。

所以我的問題是,如何將我的JSON對象存儲在MySQL中最有效?我不需要對保存數據的列進行任何查詢,還會有其他列來識別它。事情是這樣的:

ID,標題,創建-AT,更新-在,JSON-blobthingy

任何想法?

+1

您可以將它保存爲TEXT,但我建議更改爲MongoDB或Redis,因爲它們是爲文檔存儲設計的,而不是關係型體系結構。 – thodorisbais

+0

'LONGTEXT'將幫助 –

+0

@toubou謝謝你。但是我需要使用MySQL,而系統的其餘部分是基於關係數據模型的。 – Christoffer

回答

10
  • 如果你有MySQL版本5.7.8或以上,您可以使用JSON數據類型。
  • 您可以將JSON文件存儲在服務器上,並通過MySQL簡單地引用它的位置。
  • 您也可以使用TEXT types之一。
+1

只要他不需要對存儲的JSON做任何查詢,我就直接進入TEXT類型。小心不要索引該列。 – yergo

+0

'LONGTEXT'會有所幫助。 –

+0

我希望他們可以更新服務器> = 5.7.8。儘管如此,我並不認爲在存儲JSON時我必須驗證JSON,因爲在創建和解析它時,我將通過模式驗證它。另外,我真的需要一種簡單的方式將它與應用程序關係結構綁定。所以我現在可能會選擇Text。謝謝! – Christoffer

相關問題