首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google App Engine数据库索引

Google App Engine数据库索引
EN

Stack Overflow用户
提问于 2010-05-19 01:46:08
回答 2查看 528关注 0票数 2

我需要在Google App Engine数据库中存储一个无向图。出于优化的目的,我考虑使用database indexes。使用Google App Engine,有没有办法定义数据库表的列来创建索引?

我需要一些优化,因为我的应用程序在基于内容的项目推荐过滤上使用了这个存储的无向图。此外,推荐算法还会更新一些图的边的权重。

如果无法使用数据库索引,请建议另一种方法来减少图形表格的查询时间。我相信我的算法从图表中进行的数据检索操作比写入操作更多。

PS:我正在使用Python。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-19 01:48:32

也许这会有所帮助:http://code.google.com/intl/sv-SE/appengine/docs/python/datastore/queriesandindexes.html#Defining_Indexes_With_Configuration

票数 3
EN

Stack Overflow用户

发布于 2011-01-26 07:15:45

您是否真的看到过慢得令人望而却步的查询?我猜不是。我怀疑这是不成熟的优化。应用引擎数据存储不会在内存中执行任何排序、过滤、连接或其他有意义的操作,因此查询时间通常相当恒定。特别是,查询延迟并不取决于数据存储的实体数量,甚至不取决于与查询匹配的实体数量。这只取决于你想要的结果的数量。

另外,向数据存储添加索引不会加快现有查询的速度。如果查询需要自定义索引,如果没有它,它不会降级,运行速度也不会变慢。在添加索引之前,查询根本不会运行。

对于您提到的特定查询select * from edges where vertex1 == x and vertex2 == y,数据存储完全可以在没有自定义索引的情况下运行它。有关更多详细信息,请参阅this section of the docs

简而言之,只需运行所需的查询,不要过多考虑索引或试图像DBA一样进行优化。它不是关系数据库。:P

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2859667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档