Django 中非规范化字段的使用

本文探讨了数据库设计中的规范化与非规范化,重点介绍了在Django中如何进行非规范化设计以优化性能。文章提到了django-lifecycle、django-model-utils、django-denorm和django-dbcache-fields等库,它们提供了处理非规范化字段的解决方案,以减少查询操作的连接和提高查询速度。同时,也讨论了非规范化设计可能导致的数据冗余和完整性问题。
摘要由CSDN通过智能技术生成

正确的规范化可防止数据库中的数据异常。

https://docs.google.com/presentation/d/1z1aEu-unoBsyEDnwIrLrpCKg7-1VVA-IspTEm57FIiA/edit#slide=id.g3ed3e07691_2_50

数据的规范化与非规范化

https://www.jdon.com/48376

关系规范化理论及非规范化设计在数据库中的运用

https://www.cnblogs.com/jplee/archive/2006/10/12/527769.html

非规范化设计

把规范化(normalization)设计的高一级的关系范式(如3NF或BCNF)降低为低一级的关系范式的操作称为非规范化(denormalization),设计者一般用这种方式改变系统的性能以支持响应时间苛刻的操作。

现实世界并不总是依从于某一完美的数学化的关系模式。有时强制性地对事物进行规范化设计,形式上显得简单化,内容上却趋于复杂化,更重要的是可能导致数据库运行效率的减低。这时我们可以从实际出发采用非规范化设计,适当降低甚至抛弃关系模式的范式,不再要求一个关系只描述一个实体或者实体间的一种联系。其主要目的在于提高数据库的运行效率。不使用规范化设计的代价是用来保持冗余数据一致性的额外开销[3]。

数据库设计非规范化处理的主要技术包括增加冗余或派生列,对表进行合并、分割或增加重复表。一般认为,在下列情况下可以考虑进行非规范化处理:(1)大量频繁的查询过程所涉及的表都需要进行连接;(2) 主要的应用程序在执

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Django Tutorial

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值