PostgreSQL 特定模型索引 — Django 文档

来自菜鸟教程
Django/docs/3.2.x/ref/contrib/postgres/indexes
跳转至:导航、​搜索

PostgreSQL 特定的模型索引

以下是 PostgreSQL 特定的 索引 ,可从 django.contrib.postgres.indexes 模块获得。

BloomIndex

class BloomIndex(*expressions, length=None, columns=(), **options)

3.1 版中的新功能。

创建 bloom 索引。

要使用此索引访问,您需要激活 PostgreSQL 上的 bloom 扩展。 您可以使用 BloomExtension 迁移操作安装它。

length 参数提供从 1 到 4096 的整数位,以指定每个索引条目的长度。 PostgreSQL 的默认值为 80。

columns 参数采用最多 32 个值的元组或列表,这些值是从 1 到 4095 的整数位。

在 3.2 版更改:添加了 位置参数 *expressions 以支持功能索引。


BrinIndex

class BrinIndex(*expressions, autosummarize=None, pages_per_range=None, **options)

创建 BRIN 索引

autosummarize参数设置为True,使自动汇总由autovacuum执行。

pages_per_range 参数采用正整数。

在 3.2 版更改:添加了 位置参数 *expressions 以支持功能索引。


BTreeIndex

class BTreeIndex(*expressions, fillfactor=None, **options)

创建 B 树索引。

fillfactor 参数提供一个从 10 到 100 的整数值,以调整索引页面的打包方式。 PostgreSQL 的默认值为 90。

在 3.2 版更改:添加了 位置参数 *expressions 以支持功能索引。


GinIndex

class GinIndex(*expressions, fastupdate=None, gin_pending_list_limit=None, **options)

创建 gin 索引

要在不在 内置运算符类 中的数据类型上使用此索引,您需要在 PostgreSQL 上激活 btree_gin 扩展 。 您可以使用 BtreeGinExtension 迁移操作安装它。

fastupdate 参数设置为 False 以禁用在 PostgreSQL 中默认启用的 GIN 快速更新技术

gin_pending_list_limit 参数提供整数字节以调整启用 fastupdate 时使用的 GIN 挂起列表的最大大小。

在 3.2 版更改:添加了 位置参数 *expressions 以支持功能索引。


GistIndex

class GistIndex(*expressions, buffering=None, fillfactor=None, **options)

创建 GiST 索引 。 这些索引是在 spatial_index=True 的空间字段上自动创建的。 它们也可用于其他类型,例如 HStoreField范围字段

要对不在内置 gist 运算符类 中的数据类型使用此索引,您需要在 PostgreSQL 上激活 btree_gist 扩展 。 您可以使用 BtreeGistExtension 迁移操作安装它。

buffering 参数设置为 TrueFalse 以手动启用或禁用索引的 缓冲构建

fillfactor 参数提供一个从 10 到 100 的整数值,以调整索引页面的打包方式。 PostgreSQL 的默认值为 90。

在 3.2 版更改:添加了 位置参数 *expressions 以支持功能索引。


HashIndex

class HashIndex(*expressions, fillfactor=None, **options)

创建哈希索引。

fillfactor 参数提供一个从 10 到 100 的整数值,以调整索引页面的打包方式。 PostgreSQL 的默认值为 90。

仅在 PostgreSQL 10 及更高版本上使用此索引

哈希索引在 PostgreSQL 中已经存在很长时间了,但它们在旧版本中存在许多数据完整性问题。

在 3.2 版更改:添加了 位置参数 *expressions 以支持功能索引。


SpGistIndex

class SpGistIndex(*expressions, fillfactor=None, **options)

创建 SP-GiST 索引

fillfactor 参数提供一个从 10 到 100 的整数值,以调整索引页面的打包方式。 PostgreSQL 的默认值为 90。

在 3.2 版更改:添加了 位置参数 *expressions 以支持功能索引。


OpClass() 表达式

3.2 版中的新功能。


class OpClass(expression, name)

OpClass() 表达式表示具有自定义 运算符类expression,可用于定义功能索引。 要使用它,您需要在 :setting:`INSTALLED_APPS` 中添加 'django.contrib.postgres'。 将 name 参数设置为 运算符类 的名称。

例如:

Index(
    OpClass(Lower('username'), name='varchar_pattern_ops'),
    name='lower_username_idx',
)

使用 varchar_pattern_opsLower('username') 上创建索引。