在GAE中更高效地存储无需索引的数组
2009 9 6 11:29 AM 1903次查看
分类:Google App Engine 标签:Google App Engine, Python, 性能
对于这点,Nick Johnson提到了《Store arrays of numeric values efficiently in the datastore》这篇文章。
他的解释是ListProperty会将其中的每个元素编码成一个独立的属性,并多次对其进行序列化,所以会造成很大的开销。
而pickle虽然可以让其只保存成一个元素,但兼容性可能并不好,也不是特别高效。
对于整数、浮点数和字符类型的数组,用array来代替list会更高效(当然底层也是保存为Blob类型)。
经提问者测试,ArrayProperty的速度更快并且占据的空间只有pickle的1/4。
0条评论 你不来一发么↓