【发布时间】:2014-02-25 14:48:54
【问题描述】:
我正在为基于 Postgres 数据库的 GeoDjango 应用程序构建 API。我有一个相当新手的问题。
我的 API 是 RESTful 且只读的 - 它只允许用户使用一些过滤器查询我的数据,并返回一些结果。
我的问题是这样的。我知道有一些查询可以通过 API 运行,这些查询的执行速度非常慢(例如大范围内的复杂地理查询 - 不过我确实希望允许用户在小范围内执行此操作) .
这些查询是否可能太慢而导致整个数据库崩溃? (我很确定我已经看到了这种情况。)如果可能的话,我能做些什么呢?
我是否应该限制通过 API 允许的查询类型?检查输入,只在小范围内执行查询?
或者(最好,因为我很难准确预测哪些查询会很慢)我可以在我的数据库上使用一个设置来在这些查询终止整个应用程序之前终止它们?
【问题讨论】:
标签: django postgresql geodjango