我基本上拥有经典的多对多模型.用户,奖励以及用户和奖励之间的"多对多"表格映射.
每个用户拥有400个奖项的订单,每个奖励给予大约1/2个用户.
我想迭代所有用户的奖励并总结他们的积分.在SQL中,它将是多对多之间的表连接,然后遍历每个行.在具有MySQL实例的体面机器上,400行应该不是什么大问题.
在应用程序引擎上,我看到大约需要10秒才能完成总和.大部分时间都花在Google的数据存储中.这是cProfile的前几行
ncalls tottime percall cumtime percall filename:lineno(function)
462 6.291 0.014 6.868 0.015 {google3.apphosting.runtime._apphosting_runtime___python__apiproxy.Wait}
913 0.148 0.000 1.437 0.002 datastore.py:524(_FromPb)
8212 0.130 0.000 0.502 0.000 datastore_types.py:1345(FromPropertyPb)
462 0.120 0.000 0.458 0.001 {google3.net.proto._net_proto___parse__python.MergeFromString}
我的数据模型错了吗?我在查找错误吗?这是一个我必须处理缓存和bulkupdating(这将是一个王室痛苦的屁股)的缺点.
目前,我的Google App Engine上有一个用Google的webapp框架编写的网站.我想知道的是将我的应用程序转换为使用django运行有什么好处?还有什么缺点?你们是如何编写GAE应用程序的?你使用过webapp或django吗?或者你是一个完全不同的路线并使用Java api?
谢谢
我可以将GeoDjango与GAE/BigTable一起使用吗?