freeCodeCamp/guide/chinese/computer-science/databases/indexes/index.md

21 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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