$正则表达式 您所在的位置:网站首页 正则表达式包含 $正则表达式

$正则表达式

2024-07-10 02:53| 来源: 网络整理| 查看: 265

索引使用¶

对于区分大小写的正则表达式查询,如果该字段存在索引,则MongoDB会将正则表达式与索引中的值进行匹配,这可能比集合扫描更快。如果正则表达式是“前缀表达式”,则可能会发生进一步的优化,这意味着所有潜在的匹配都以相同的字符串开头。这允许MongoDB从该前缀构造一个“范围”,并且仅与该范围内的索引值匹配。

如果正则表达式以尖号(^)或左锚(\A)开头,后跟一串简单符号,则为“前缀表达式” 。例如,/^abc.*/将仅通过匹配索引中以开头的值来优化正则表达式abc。

此外,虽然/^a/,/^a.*/和/^a.*$/匹配等效的字符串,但它们具有不同的性能特征。如果存在适当的索引,则所有这些表达式都使用索引;但是,/^a.*/和/^a.*$/较慢。/^a/ 匹配前缀后可以停止扫描。

不区分大小写的正则表达式查询通常不能有效地使用索引。该$regex实现不支持排序规则,并且无法使用不区分大小写的索引。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有