21 lines
1.2 KiB
Markdown
21 lines
1.2 KiB
Markdown
|
---
|
|||
|
title: Indexes
|
|||
|
localeTitle: 索引
|
|||
|
---
|
|||
|
## 索引
|
|||
|
|
|||
|
**数据库索引**是一种数据结构,可提高数据库表上数据检索的效率。数据库表可以具有多个索引,并且可以在数据库表的一个或多个列上创建索引。
|
|||
|
|
|||
|
### 索引如何工作?
|
|||
|
|
|||
|
现在想象一下,你所在的图书馆没有以预定的顺序排列书籍。如果您的任务是找到一本书,那么您必须逐个架子找到它。当只有几本书架时,这可能会很好,但如果它是一个多层图书馆,这个过程非常耗时。
|
|||
|
|
|||
|
另一方面,假设书籍现在由作者的姓氏排列。如果你知道你正在搜索的书的作者的姓氏,例如“Carnegie”,你可能会寻找“C”的搁置,然后在特定的书架内搜索。你已经避免了经历每一个架子。
|
|||
|
|
|||
|
### 权衡
|
|||
|
|
|||
|
如前所述, **索引**是数据结构,因此占用存储空间。定义的索引越多,维护数据结构所占用的存储空间就越多。另一个成本是以附加更新(或写入)的形式,以使索引保持最新。将新记录添加到具有索引的表时,需要额外写入来更新索引数据结构。
|
|||
|
|
|||
|
#### 更多信息:
|
|||
|
|
|||
|
[数据库索引](https://en.wikipedia.org/wiki/Database_index)
|