table 列中的索引有什么用?
What is the use of index in table columns?
出于什么实际目的,我可能需要为 table 中的列添加索引?他们通常需要做什么?
索引是数据库结构,可以提高从应用它们的列中检索数据的速度。关于该主题的 wikipedia article 提供了一个很好的概述,而没有涉及太多 implementation-specific 细节。
索引列可加快对 table 多行的查询。
索引允许您的数据库使用二进制搜索等搜索算法搜索所需的行。
这仅在您有大量行 时才有用,例如 16 行或更多行(此数字取自快速排序算法,表示如果排序 16 或更少的项目,只需进行插入排序)。否则,与普通线性搜索相比,性能提升可以忽略不计。
如果 table 有 100 行,而你想找到第 80 行,没有索引,可能需要 80 次操作才能找到第 80 行。但是对于索引,假设它们启用了类似二进制搜索的功能,您可以在 10 次或更少的操作中找到第 80 行。
基本索引有两个常见用途。
- 他们加快了查询速度。
- 他们实施唯一约束(因此有助于定义主键)。
此外,专用索引可以启用某些数据库中的功能,特别是文本搜索和 GIS 查询。
出于什么实际目的,我可能需要为 table 中的列添加索引?他们通常需要做什么?
索引是数据库结构,可以提高从应用它们的列中检索数据的速度。关于该主题的 wikipedia article 提供了一个很好的概述,而没有涉及太多 implementation-specific 细节。
索引列可加快对 table 多行的查询。
索引允许您的数据库使用二进制搜索等搜索算法搜索所需的行。
这仅在您有大量行 时才有用,例如 16 行或更多行(此数字取自快速排序算法,表示如果排序 16 或更少的项目,只需进行插入排序)。否则,与普通线性搜索相比,性能提升可以忽略不计。
如果 table 有 100 行,而你想找到第 80 行,没有索引,可能需要 80 次操作才能找到第 80 行。但是对于索引,假设它们启用了类似二进制搜索的功能,您可以在 10 次或更少的操作中找到第 80 行。
基本索引有两个常见用途。
- 他们加快了查询速度。
- 他们实施唯一约束(因此有助于定义主键)。
此外,专用索引可以启用某些数据库中的功能,特别是文本搜索和 GIS 查询。