Django为什么拥有SmallIntegerField是什么原因?
收藏

我想知道为什么要提供它。该字段取决于数据库,这是否使它完全不可靠?

我想将出生年份存储在模型中,有点像

class Person(models.Model):
  name = models.CharField(max_length=256)
  born = models.IntegerField()

当然,这需要很少的空间,它应该始终为4个“字符”长,因此,PositiveSmallIntegerField可能合适,但是为什么我选择它而不是普通的IntegerField?

最佳答案

许多RDBM的性能可能在很大程度上取决于行的大小。尽管“纯粹的”方法可能会说应用程序应该完全独立于底层数据结构,但是在许多行上的改进(例如使用较小的整数)可能会使表大小减少千兆字节,从而使表的更多空间适合内存,从而大大改善了表的容量。性能。这是美国广播公司的简介部分。

我将使用这样的小整数来表示,该表上的主键始终具有<100行,尤其是当该键作为外键存储在表中时,我希望它会变得非常大。尽管大小是由实现定义的,但是可以安全地假定它至少大于127。

    公众号
    关注公众号订阅更多技术干货!