Bri*_*ton 12 performance google-app-engine bigtable
在常规 Google App Engine 使用、polymodel 或普通“Bigtable”模型中,什么产生最佳性能?
多模型有效地在父表中创建了一个名为“类”的列,它提供了继承跟踪。而从父类继承的普通 Bigtable 创建了一个新的独立数据结构,无法查询父类并找到所有子类型类的所有子类。
可能存在性能差异,但可能非常小。
这是我发现的(全部基于Python 的 Google 文档)。
BigTable 本身不支持 PolyModel 信息。相反,它是使用“类”属性来实现的。因此,当您尝试执行搜索(例如查找基类)时,您将搜索此“类”属性。
使用 PolyModel 类的所有查询都应用了一个额外的过滤器,该过滤器按给定的类(使用“class”属性)进行过滤。
为 PolyModel 类创建的任何索引都必须考虑额外的“class”列。
本质上,PolyModel 类自行处理“类”属性,将其插入到查询中并用于其他查询。除此之外,它的工作原理与标准 BigTable 用法相同。
因此,区别实际上只是添加和维护一个额外的列。
有性能差异吗?是的,大概是这样。添加到任何数据库系统的每一列都会对性能产生影响。但是,这重要吗?可能不会。
| 归档时间: |
|
| 查看次数: |
280 次 |
| 最近记录: |