在过滤中选择VS Charfield

时间:2017-03-25 17:34:56

标签: python django

如果数据库(Django ORM)基于解析的数据。还有一个“城市”字段,通常在过滤数据时使用。使用Chocies或只是Charfield将“城市”保存到田地中是否更好?过滤速度会快得多吗?

1 个答案:

答案 0 :(得分:0)

像positiveintegerfield这样的选择字段将比charfield更小 如果你将城市保存为[(1,'NY'),(2,'LA')]在positiveintegerfield中,但在查询复杂性时间我认为整数将获胜

Int比较比varchar比较更快,因为ints占用的空间比varchars少得多。

对于无索引和索引访问都适用。最快的方法是索引的int列。

对于postgresql,您可能对不同日期类型的空间使用感兴趣:

  

int字段占用2到8个字节,其中4个通常更多   足够了(-2147483648到+2147483647)
      字符类型占用4个字节加上实际的字符串。