我正在阅读rails教程(http://ruby.railstutorial.org/book/ruby-on-rails-tutorial#sidebar-database_indices),但对数据库索引的解释感到困惑,基本上作者建议而不是搜索O( n)通过电子邮件列表(用于登录)创建索引要快得多,给出以下示例:
要理解数据库索引,考虑书籍索引的类比会很有帮助。在一本书中,要查找给定字符串的所有出现,比如“foobar”,您必须扫描每个页面以查找“foobar”。另一方面,使用图书索引,您只需在索引中查找“foobar”即可查看包含“foobar”的所有页面。 来源: http: //ruby.railstutorial.org/chapters/modeling-users#sidebar:database_indices **
所以我从那个例子中了解到,单词可以在文本中重复,所以“索引页”由唯一的条目组成。但是,在 railstutorial 站点中,登录设置为每个电子邮件地址对一个帐户都是唯一的,那么当我们最多可以有每封电子邮件出现一次时,如何使用索引使其更快呢?
谢谢