[英]PHP/MYSQL How do you store a multidimensional array in a database - json or another table?
我當前正在開發一個需要在數據庫中存儲多維數組的應用程序。 目前,我正在使用3層深的數組,它可以是任意大小,因為它填充了用戶生成的信息,並使用json_encode()
將其轉換為string
並將其輸入數據庫。
這樣做的問題是,單個字段非常大且難以讀取,要更新數據,我必須檢索數據,對其進行解碼,對其進行更新,對其進行編碼並重新上傳。 如果該站點確實被許多人使用,我將不知道如何擴展。
我認為主要的替代方法是創建另一個表,每一行都通過存儲在主表中的唯一id
訪問,但是我不確定這將如何擴展
哪個更好? 任何幫助表示贊賞:)
如果不確定數組的深度可能是多少層,那么設計db模式真的很困難,因此最好的存儲方式是在已經完成的文本字段中。
至於縮放與正確索引和分區以及縮放應用程序有關,但是一個文本值較大的字段與縮放無關。
創建多個數據庫表以及這些表之間的關系以將數據分組在一起可能會更容易維護,並使您能夠基於列查詢/過濾結果,而不必在PHP中檢索,解碼和迭代數據。
我認為,如果您不確定數組的深度,可以建立一個結構良好的數據庫,這將有些困難,因此請按計划進行。 正如我建議的那樣,請盡可能多地使用函數 。
編碼 功能和解碼功能 (用於任何級別的json數據),並使用這些功能來執行更新。
使用單獨的功能顯然會美化您的項目,並且代碼不會混亂。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.