jee*_*ace 10 sql ruby-on-rails
add_index :microposts, [:user_id, :created_at]
Run Code Online (Sandbox Code Playgroud)
我正在阅读Michael Hartl的轨道教程,并注意到他正在使用一种称为多键索引的东西.我知道这意味着Active Record同时使用两个键,但我不确定使用多个键索引的优点和缺点是什么.
如果有人能给出答案我会非常感激.
Bil*_*win 15
任何索引都可以通过允许查询缩小要检查的行集来提供益处.
当您的查询包含多个列的条件时,多列索引可以提供帮助.
例如:
SELECT * FROM Mytable WHERE user_id = 123 AND created_at > '2013-02-01'
Run Code Online (Sandbox Code Playgroud)
多列索引缩小到与user_id 123相关联的行的子集,然后在该子集内,它进一步将选择范围缩小到具有最近created_at值的那些.
如果索引中没有第二列,则RDBMS必须将user_id 123的所有行加载到内存中,然后才能确定它们是否通过了条件.
有关详细信息,请参阅我的演示文稿 如何设计索引,真的.
归档时间: |
|
查看次数: |
5231 次 |
最近记录: |