Arn*_*nav 3 database postgresql indexing
PostgreSQL允许创建"部分索引",它基本上是带条件谓词的索引.http://www.postgresql.org/docs/8.2/static/indexes-partial.html
在测试时,我发现它们在查询仅访问具有120k行的表中的特定12行的情况下表现非常好.
但在我们部署之前,我们应该注意哪些缺点或警告?
主要的警告是不要不恰当地使用它们.它们适用于标识符合一组条件的行,其中这些行在大型表中是少数.
以表Orders为例,order_status以列为单位,并在订单状态中分发您的数据,如下所示:
如果您经常查询where order_status = 'New'以获取新订单列表,那么剩下的大部分时间只是通过ID直接引用订单,那么部分索引将是有益的.在你的120k中的12行的例子中,这更是如此.
专业人士:
这会减少索引的大小,从而加快使用索引的查询速度。它还会加速许多表更新操作,因为索引并不在所有情况下都需要更新
缺点:
由于这不再是真正的索引,因此如果您对索引未涵盖的值进行完全联接或过滤,则性能将随着表大小的增长而降低。
| 归档时间: |
|
| 查看次数: |
2650 次 |
| 最近记录: |