Python JSON和数据库:四个布尔值和一个字符串值。什么';更好吗?
我正在开发一个Python API。本质上,我试图创建的API与银行使用的API类似。它将从我的数据库中检索数据,并使用JSON将其发送到我的桌面应用程序 我不确定wheter: 选项1Python JSON和数据库:四个布尔值和一个字符串值。什么';更好吗?,python,json,database,Python,Json,Database,我正在开发一个Python API。本质上,我试图创建的API与银行使用的API类似。它将从我的数据库中检索数据,并使用JSON将其发送到我的桌面应用程序 我不确定wheter: 选项1 { "is_current": false, "is_savings": true, "is_credit_card": false, "is_loan": false, } 与以下各项相比有任何优点/缺点: 选项2 { "account_type": "savings
{
"is_current": false,
"is_savings": true,
"is_credit_card": false,
"is_loan": false,
}
与以下各项相比有任何优点/缺点:
选项2
{
"account_type": "savings"
}
显然,我看到选项2需要更少的数据传输,因此加载速度可能更快,但对于我的应用程序的当前状态,“超快”加载时间不是优先考虑的(尽管它可能在遥远的将来)
另外,将其存储在数据库中以便高效查询的最佳方法是什么
我试图搜索该网站,但似乎找不到任何与我的问题相匹配的内容
任何建议都将不胜感激。如果四种类型的帐户中没有两种可以同时为真,最好存储为单个字符串。我认为存储单个字符串的两个优点是
- 如果有任何新类型的帐户,您可以相对轻松地将其可视化(无需通过前端的硬编码字段验证进行更改)
- 在数据库中存储单个字段将减少表的稀疏性,还可以在不向模式中添加整列的情况下添加新类型的帐户
缺点是您无法显示任何可能同时具有贷款和信用卡属性的帐户。如果上下文没有要求这样做,那么它就不应该是一个问题 如果这四种类型是互斥的,那么您肯定只应该有一个
帐户类型
字段–它的限制性更强。您可以将其作为ENUM
@Ryan存储在数据库中,谢谢!这些类型确实是相互排斥的。谢谢你的建议!