注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

郁夫的博客

我爱你们,只是你们不知道!

 
 
 

日志

 
 
 
 

记录一下GAE上各种属性所占的空间大小 - 转  

2011-07-27 15:07:38|  分类: Google |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
利用GAE管理员控制台里的Datastore Statistics测了下各种属性所占的空间,特意记录下来,单位为字节。
测试所用类型名为1字节,属性名也是1字节,app id长度是8。当属性名为2字节时,所占空间将增加1字节。
类型 长度
NULL 7
StringProperty 9+编码成UTF-8后的长度
ByteStringProperty 11+长度
BooleanProperty 9
IntegerProperty 9
FloatProperty 16
DateTimeProperty、DateProperty 18
TimeProperty 16
ListProperty、StringListProperty 每个元素的长度总和(查看源码后发现,空列表不保存到datastore,直接当成不存在的属性)
SelfReferenceProperty 8(app id)+10(类型名长度1,作为字符串为10)+9(id作为int64或name作为字符串至少为9)+name长度(如果这个Key有祖先,还得计算路径里各个祖先的长度,即类型名+id或name)
UserProperty 9(+email长度)+9(+验证域长度,一般是gmail.com,即9)+9(内部id,int64)+3(未知)
TextProperty 11+编码成UTF-8后的长度
LinkProperty 11+网址长度
IMProperty 12+协议长度+地址长度
GeoPtProperty 29
RatingProperty 11


可见为了节省存储空间,尽量使用短的类型名和属性名,采用IntegerProperty、StringProperty这种较小的类型,ReferenceProperty和UserProperty尽量少用,前者可以只存储一个key id或name,后者可以存储email。

出处 http://www.keakon.net/2010/10/19/%E8%AE%B0%E5%BD%95%E4%B8%80%E4%B8%8BGAE%E4%B8%8A%E5%90%84%E7%A7%8D%E5%B1%9E%E6%80%A7%E6%89%80%E5%8D%A0%E7%9A%84%E7%A9%BA%E9%97%B4%E5%A4%A7%E5%B0%8F

  评论这张
 
阅读(313)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017