Django有SmallIntegerField的原因是什么?

我很想知道为什么它被提供。该字段是依赖于数据库的,不是使它完全不可靠吗?

我想在一个模特里存储生日,有点像

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

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

许多RDBM的性能可能严重依赖于行大小。虽然“纯粹主义”的方法可能表示应用程序应完全独立于底层数据结构,但是像使用较小的整数一样,许多行的改进可能会使表格大小刮掉千兆字节,这使得更多的表适合内存,这大大提高了性能。这是ABCs的简介。

我会使用这样一个小整数来表示一个总是具有< 100行的表的主键,特别是当它被存储在表中的外键,我希望增长非常大时。虽然大小是实现定义,但至少可以假定它大于127。

翻译自:https://stackoverflow.com/questions/1516610/whats-the-reason-why-django-has-smallintegerfield

转载注明原文:Django有SmallIntegerField的原因是什么?