表列中的索引有什么用?

时间:2016-01-02 19:55:22

标签: sql database indexing relational-database

为了实际目的,我可能需要在表格中为列添加索引吗?它们通常需要什么?

3 个答案:

答案 0 :(得分:1)

索引是数据库结构,可以提高从应用它们的列中检索数据的速度。关于主题的wikipedia article提供了非常好的概述,而没有涉及太多特定于实现的细节。

答案 1 :(得分:1)

基本索引有两种常见用途。

  • 他们加快了查询速度。
  • 它们实现了唯一的约束(因此有助于定义主键)。

此外,专用索引可以在某些数据库中启用功能,尤其是文本搜索和GIS查询。

答案 2 :(得分:0)

索引列可加快对包含多行的表的查询速度。

索引允许您的数据库使用搜索算法(如二进制搜索)搜索所需的行。

这只有在你有大量行时才会有用,例如16或更多(这个数字来自快速排序算法,它表示如果排序16个或更少的项目,只需做插入排序)。否则,与普通线性搜索相比,性能增益可以忽略不计。

如果一个表有100行而你想找到没有索引的第80行,则可能需要80次操作才能找到第80行。但是对于索引,假设它们启用了二进制搜索之类的东西,你可以在10行或更少的操作中找到第80行。