Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的用户表有大约一百万条记录。
我的 Region 表可能有 200 条记录。
我应该add_index :users, :region_id吗?
add_index :users, :region_id
如果区域具有 user_id,则相反,我应该在区域表中索引 user_id 吗?
“过早的优化是万恶之源”。仅当应用程序的分析表明您需要索引时才添加索引。
是的,您应该添加。如果您认为您将有很多查询获得这些字段的条件。在您的情况下,我认为您可能有很多查询,例如居住在一个地区的人,所以我会在 users 表上为(id(user_id)和 region_id 字段一起在一个索引中)创建一个索引
add_index :users, [:id, :user_id]