將異構json字符串存儲到同一個MySQL表的推薦方法是什麼? 我在這個MySQL數據庫中有一些存儲除JSON對象以外的信息的其他表,因此我想以最佳推薦的方式將這些JSON對象存儲在同一個數據庫中。在同一個MySQL表中存儲異構json對象?
我想將json字符串從Perl腳本存儲到一個MySQL表中,該表不僅具有相同的值,而且在不同的json對象中將具有不同的層次結構。我正在考慮將它們存儲爲字符串或blob,以及每個條目的一些最小元數據。例如:
CREATE TABLE `entry` (
`entry_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`file` varchar(1023) DEFAULT NULL,
`json` blob DEFAULT NULL,
`update_timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`entry_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
在我使用Perl和MySQL直接執行此操作之前,是否有任何工具或庫需要考慮?我想知道是否有什麼東西可以與DBIx :: JSON爲MySQL的SELECT查詢所做的相反...
你應該考慮一些非關係型數據庫,而不是(他們大多鍵操作價值對概念),而不是使用blob。 – DVK
@DVK我在這個MySQL數據庫中有一些存儲除JSON對象之外的信息的其他表,所以我想以最好的方式將這些JSON對象存儲在同一個數據庫中。 – 719016
您可能想考慮爲您已序列化爲JSON的數據中的至少一部分實現某種ORM;正如Karoly在他的回答中指出的那樣,除非您希望能夠跨串行化數據進行查詢,否則這種方法可以正常工作,在這種情況下,您將會非常不幸。 –