【发布时间】:2012-05-19 11:51:52
【问题描述】:
(这是在 Rails 应用程序中)
给定两个表:
items
id, int(11), primary key
name, varchar(30)
choices
id, int(11), primary key
item_id, int(11), foreign key
identifier, varchar(5)
name, varchar(30)
针对choices的大多数查询将遵循以下原则:
SELECT identifier, name FROM choices WHERE item_id = n ORDER BY identifier;
让我们假设我们都同意索引可以帮助排序性能(我知道我们都没有,没关系,但是对于这个问题,让我们假设)。
为选择编制索引以便同时获得搜索和排序优势的最佳方法是:
- 两个索引,item_id 和 identifier 各一个
或
- item_id,标识符上的一个索引
【问题讨论】:
标签: mysql ruby-on-rails sorting indexing foreign-keys