2
问候,Rails 2.3.5/MySQL关键首选项问题;力指数
我正在寻找一个相当“大......”表了几百万行,并且为简化起见表看起来像这样
create table data (
user_id int ...
created_on datetime ...
...
key (user_id),
key (created_on)
...
) engine = InnoDB;
于是,在一查询... SELECT * FROM data WHERE user_id = X and created_on = Y
查询优化器一直偏好created_on over user_id,现在我可以使用FORCE INDEX来“强制”这个问题,但我不想必须为每个Data.find和我们所有的其他查询(数百次更改)做到这一点。
能否影响的Rails 2.3.5全局地使用 “数据FORCE INDEX(user_id_index)” 在可能的情况(并且没有其他的矛盾,即..另一个FORCE索引手动输入)
或
我可以改变mysql查询优化器如何更偏好手工索引的方式?我看过运行分析表数据;但查询计划不会更改。
-daniel
没有主键?可怜的浪费你的唯一innodb聚集索引。 – 2011-02-11 00:15:22
@ f00:另外还有一个补充:如果PK单调增长,它在innodb中会更好 – zerkms 2011-02-11 00:58:26