gpt4 book ai didi

mysql - MySQL 索引是如何工作的?

转载 作者:IT老高 更新时间:2023-10-28 12:47:39 25 4
gpt4 key购买 nike

我对 MySQL 索引的工作原理非常感兴趣,更具体地说,它们如何在不扫描整个表的情况下返回请求的数据?

这是题外话,我知道,但如果有人可以向我详细解释,我将非常非常感谢。

最佳答案

基本上,表上的索引就像书上的索引(这就是名称的来源):

假设您有一本关于数据库的书,并且您想查找一些关于存储的信息。如果没有索引(假设没有其他帮助,例如目录),您必须逐页浏览,直到找到主题(即全表扫描)。另一方面,索引有一个关键字列表,因此您可以查阅索引并看到第 113-120,231 和 354 页提到了 storage。然后您可以直接翻到这些页面,没有搜索(这是一个有索引的搜索,有点快)。

当然,索引的用处取决于很多事情——举几个例子,使用上面的比喻:

  • 如果您有一本关于数据库的书并将“数据库”一词编入索引,您会发现它在第 1-59、61-290 页和第 292 至 400 页上有所提及。在这种情况下,索引并没有多大帮助并且逐页浏览可能会更快(在数据库中,这是“选择性差”)。
  • 对于一本 10 页的书,创建索引是没有意义的,因为您最终可能会得到一本 10 页的书,并以 5 页的索引为前缀,这很愚蠢 - 只需扫描 10 页即可完成了。
  • 索引也需要有用 - 通常没有必要索引,例如每页字母“L”的频率。

关于mysql - MySQL 索引是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3567981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com