10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册 本手册节选

20.4.3.6创建和删除索引

索引用于快速查找具有特定字段值的文档。如果没有索引,MySQL必须从第一个文档开始,然后通读整个集合以找到相关字段。藏品越多,成本就越高。如果集合很大,并且对特定字段的查询很常见,那么可以考虑在文档中的特定字段上创建索引。

例如,以下查询使用Population字段上的索引执行得更好:

mysql-py > db.countryinfo.find(“人口统计数据。人口< 100")…[输出了8份文件(0.00秒)

create_index ()方法创建一个索引,您可以用指定要使用哪些字段的JSON文档定义该索引。本节是索引的高级概述。有关更多信息,请参阅索引集合

添加非唯一索引

类的索引名和索引信息可用于创建非唯一索引create_index ()方法。禁止重复索引名称。

下面的示例指定一个名为popul,根据人口字段从人口统计资料对象,索引为整数数值。最后一个参数指示该字段是否应该要求非空约束。如果值为,该字段可以包含值。索引信息是一个JSON文档,其中包含要包含在索引中的一个或多个字段的详细信息。每个字段定义必须包括字段的完整文档路径,并指定字段的类型。

mysql-py > db.countryinfo。createIndex("popul", {fields: [{field: '$. population . population ', type: 'INTEGER'}]})

在这里,索引是使用整数数值创建的。还有其他选项,包括用于GeoJSON数据的选项。您还可以指定索引的类型,这里省略了索引的类型,因为是默认类型指数是适当的。

添加唯一索引

若要创建唯一索引,请传递索引名称、索引定义和索引类型独特的create_index ()方法。此示例显示了在国家名称上创建的唯一索引(“名称”),这是另一个常见的领域countryinfo集合要索引。在索引字段描述中,“文本(40)”表示要索引的字符数和“要求”:真的指定该字段必须存在于文档中。

mysql-py > db.countryinfo。Create_index ("name", {"fields": [{"field": "$。名称”、“类型”:“文本(40)”、“要求”:真正}],“独特”:真正})
删除索引

要删除索引,请将要删除的索引的名称传递给drop_index ()方法。例如,您可以删除popul索引如下:

mysql-py > db.countryinfo.drop_index(“popul”)
相关信息