Mar*_*rty 4 python database django database-design django-models
我在模型中有一个领域,
name = models.CharField(max_length=2000)
Run Code Online (Sandbox Code Playgroud)
输入的数据是
name='abc'
Run Code Online (Sandbox Code Playgroud)
django模型的max_length设置为2000,而输入数据的长度仅为3,是否max_length为每个对象在数据库表中保留2000个字符的空间?保存模型对象后,是否释放了空间?
max_length如果数据库上的对象数为数千或数百万,则设置更高的值会增加数据库的大小吗?
数据库是postgres
在CharField将由表示character varying(max_length)PostgreSQL中。
从文档:
短字符串(最多126个字节)的存储要求是1个字节加上实际的字符串,其中包括在字符情况下的空格填充。较长的字符串的开销为4个字节,而不是1个字节。
因此,字符串将占用的磁盘空间取决于它的长度+一小笔开销,而不取决于字段的最大长度。
使用更高max_length的磁盘不会增加数据库使用的磁盘空间。
| 归档时间: |
|
| 查看次数: |
223 次 |
| 最近记录: |