我使用的是Mac版本10.8和Rails 3.2.14
下面是链接:model
向下滚动到清单11.1。
问:在关系表中添加索引有什么意义?
关系表有两列follower_id (输入)和followed_id (输出)。听起来,这就是连接user (x)和user (y)所需的全部内容,为什么需要索引。这是一个额外的列/字段吗?如果不是,那是什么。那它是做什么的?为什么要用它呢?
谢谢
发布于 2013-11-07 17:54:08
除非向列添加索引,否则数据库无法直接搜索列。相反,它必须遍历每一行,然后查看该列的值。如果我们谈论的是excel表单,而您想快速查看'M‘列中的所有值,您只需将眼睛或手指放在该列上,然后向下滚动即可。相反,假设您必须从“A”列开始,然后向右滚动以阅读“M”列。漂洗并重复1,000次,如果您的查询有时间的话,您将添加很多时间。
这两个字段的复合索引一起防止用户跟踪同一人两次。虽然您也应该在代码中防止这一点,但是重复数据库中的唯一性验证并不有害,因为从历史上讲,数据库比应用程序更长寿。
https://stackoverflow.com/questions/19842431
复制相似问题