gpt4 book ai didi

ruby-on-rails - 将索引添加到数据模型 - Ruby on Rails 教程

转载 作者:数据小太阳 更新时间:2023-10-29 06:34:30 24 4
gpt4 key购买 nike

我对在 Ruby on Rails Tutorial.org 中找到的这段代码有点困惑。它的 add_index 部分究竟做了什么?为什么这里有 3 行?

    class CreateRelationships < ActiveRecord::Migration
def change
create_table :relationships do |t|
t.integer :follower_id
t.integer :followed_id

t.timestamps
end

add_index :relationships, :follower_id
add_index :relationships, :followed_id
add_index :relationships, [:follower_id, :followed_id], unique: true
end
end

最佳答案

A database index is a data structure that improves the speed of operations in a table. Indexes can be created using one or more columns, providing the basis for both rapid random lookups and efficient ordering of access to records. - TutorialPoint

基本上索引用来加速查询。

在例子中

add_index :relationships, :follower_id
add_index :relationships, :followed_id

索引是为 follower_idfollowed_id 列创建的,这将加快查询查找 follower_id OR 已关注_id。它不会对您的列强制执行任何其他约束,例如 UNIQUE。所以他们可以有相同的值

这里

add_index :relationships, [:follower_id, :followed_id], unique: true

该过程与上述相同,但 follower_id AND followed_id 组合应该不同。如果您尝试在多行中为这些列复制相同的组合值,则会抛出错误。

关于ruby-on-rails - 将索引添加到数据模型 - Ruby on Rails 教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19899424/

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