Derick
662 words
3 minutes
数据库索引是如何工作的?
  • 大多数数据库都需要某种形式的索引来满足性能基准。当数据正确地被索引时,搜索数据库就会变得更简单,这也提高了系统的整体性能。
  • 数据库索引就像书的索引一样。它可以节省你的时间和精力,让你能够轻松地找到你要找的内容,而不必翻阅每一页。数据库索引也是这样工作的。索引是一个键值对,其中键用于搜索数据,而不是相应的索引列,值则是指向表中相关行的指针。

Untitled.png

  • 为了充分利用你的数据库,你应该根据任务选择正确的索引类型。
  • 最常用的索引结构之一是B树,其中键被排序并组织在一个层次化的树结构中。在搜索数据时,树会遍历到包含适当键和指向表中相关行的指针的叶节点。B树之所以常用,是因为它在存储和搜索有序数据方面的效率。它们的平衡结构意味着所有的键都可以在相同的步骤数内被访问,使得性能保持一致。
  • 哈希索引最适合在你搜索精确值匹配时使用。哈希索引的关键组成部分是哈希函数。在搜索特定值时,搜索值会通过哈希函数,返回一个哈希值。这个哈希值告诉数据库键和指针在哈希表中的位置。
  • 对于具有低唯一值集的列,可以使用位图索引。在位图索引中,每个位图代表一个唯一值。位图使用1和0来表示数据集中值的存在或缺失。对于存在的值,位图中1的位置显示了表中行的位置。位图索引在处理多列被使用的复杂查询时非常有效。

Untitled.png

  • 当你在对表进行索引时,一定要根据WHERE子句中最常用的列仔细选择要索引的列。当多个列经常在WHERE子句中一起使用时,可以使用复合索引。在复合索引中,两个或更多列的组合被用来创建一个连接键。然后,根据索引策略,例如上述选项,存储键。
  • 索引可以是一把双刃剑。它显著加快了查询速度,但也占用了存储空间,并增加了操作的开销。平衡性能和最优存储是至关重要的,以充分利用你的数据库而不引入低效率。
数据库索引是如何工作的?
https://blog.ithuo.net/posts/how-does-database-index-work/
Author
Derick
Published at
2022-12-10