我有一个profile
记录列表,每个记录如下所示:
{
"name": "Peter Pan",
"contacts": [
{
"key": "mobile",
"value": "1234-5678"
}
],
"addresses": [
{
"key": "postal",
"value": "2356 W. Manchester Ave.\nSomewhere District\nA Country"
},
{
"key": "po",
"value": "PO Box 1234"
}
],
"emails": [
{
"key": "work",
"value": "abc@work.com"
},
{
"key": "personal",
"value": "abc@personal.com"
}
],
"url": "http://www.example.com/"
}
我会考虑具有以下架构结构:
profile
带有id
和name
字段的表。profile_contact
带有id
,profile_id
,key
,value
字段的表。profile_address
带有id
,profile_id
,key
,value
字段的表。profile_email
带有id
,profile_id
,key
,value
字段的表。
但是,我认为我为这样一个简单的 JSON 创建了太多表!
- 当我在表中搜索时是否会出现性能问题,因为执行了许多 JOINS 来检索一条记录?
- 将上述 JSON 记录建模到数据库中的更好方法是什么?在 SQL 中,还是在 NoSQL 中更好?