5.7. 使用索引提高数据库性能


根据数据库的大小,客户端应用程序执行的搜索可能需要大量时间和资源。因此,为了提高搜索性能,您可以使用索引。

索引是目录数据库存储的文件。为您的目录中的每个数据库维护单独的索引文件。每个文件根据其索引的属性命名。特定属性的索引文件可以包含多个类型的索引。例如,名为 cn.db 的文件包含通用名称(cn)属性的所有索引。

根据使用目录的应用程序类型,使用不同类型的索引。不同的应用程序可能会频繁搜索特定的属性,或者可能会以不同语言搜索目录,或者可能需要特定格式的数据。

5.7.1. 目录索引类型概述

目录服务器支持以下索引类型:

存在索引
列出具有特定属性的条目,如 uid
相等索引
列出包含特定属性值的条目,如 cn=Babs Jensen
大约索引
允许搜索大约(或类似"sounds")搜索。例如,条目可能包含 cn=Babs L. Jensen 的属性值。大约搜索将返回针对 cn~=Babs Jensencn~=Babscn~=Jensen 进行搜索的值。
注意

大约索引需要使用 ASCII 字符以英语编写。

子字符串索引
允许针对条目内的子字符串进行搜索。例如,您搜索 cn swigderson 将匹配常见名称,如 Bill Anderson、Norma Henderson 和 contains this string。
国际索引
提高了在国际目录中搜索信息的性能。您可以通过将区域设置(异步 OID)与您要索引的属性关联,将索引配置为应用匹配的规则。
浏览索引或虚拟列表视图(VLV)索引
提高了 web 控制台中条目的显示性能。您可以在任何目录树分支上创建 浏览索引,以提高显示性能。

5.7.2. 评估索引成本

在使用索引来提高搜索性能时请考虑以下点:

  • 索引增加修改条目所需的时间。

    维护的更多索引,需要更长的时间来更新数据库。

  • 索引文件使用磁盘空间。

    您可以索引的更多属性,即您创建的更多文件。另外,如果您为包含长字符串的属性创建大约和子字符串的索引,索引文件可能会快速增长。

  • 索引文件使用内存。

    为了更有效地运行,目录服务器会将尽可能多的索引文件放入内存中。根据数据库缓存大小,索引文件使用池中可用的内存。大量索引文件需要更大的数据库缓存。

  • 创建索引文件需要一些时间。

    虽然索引文件在搜索过程中节省时间,但维护不必要的索引可能会浪费时间。在使用目录时,仅维护客户端应用程序所需的文件。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat