ruby-on-rails – 数据库中非唯一索引的目的是什么?
发布时间:2020-12-17 02:47:45 所属栏目:百科 来源:网络整理
导读:我一直在搜索,但似乎无法在数据库中找到唯一和非唯一索引概念背后的适当解释. 例如,在Rails中,您可以为给定字段创建唯一且非唯一的索引,如http://railsguides.net/advanced-rails-model-generators/所述 我不明白的是:如果索引的目的是“设置快捷方式”到表
我一直在搜索,但似乎无法在数据库中找到唯一和非唯一索引概念背后的适当解释.
例如,在Rails中,您可以为给定字段创建唯一且非唯一的索引,如http://railsguides.net/advanced-rails-model-generators/所述 我不明白的是:如果索引的目的是“设置快捷方式”到表中的值位置以便更快地访问它,那么多个值如何共享相同的索引? 比方说,我将电子邮件存储在一个表中,我想索引它们的值位置. 这有什么意义? 谢谢 解决方法
在示例电子邮件应用程序的数据模型中,向position属性添加非唯一索引是没有意义的,因为每个消息只有一个位置,每个位置只包含一个消息;在这种情况下,索引应该是唯一的.
但请考虑一个可能的“发件人”属性.许多邮件可以来自同一个发件人.如果您的应用程序具有查找来自特定发件人的所有邮件的功能,那么在发件人列上添加非唯一索引以提高该操作的性能是有意义的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |