【问题标题】:Why is this query not using indexing? [duplicate]为什么这个查询不使用索引? [复制]
【发布时间】:2011-10-05 09:43:31
【问题描述】:
EXPLAIN SELECT `test_versions`.* FROM `test_versions` WHERE (`test_versions`.test_id IN (363,534,271,274,365,390,404,405,406,407,409,182,201,1386,1387,1388,1389,1390,1307,1308,1309,1310,1311,424,423,393,361,357,355,353,352,351,350,347,209,339,340,345,223,305,66,307,303,221,227,228,229,230,231,210,214,215,217,218,219,234,235,236,237,238,239,232,233,212,100,59)) 


Id   select_type  table            type   possible_keys                  key   key_len  ref    row   Extra 
'1', 'SIMPLE',    'test_versions', 'ALL', 'fk_test_versions_on_test_id', NULL, NULL,    NULL, '76', 'Using where; Using filesort'

它没有使用已经指定的索引。我不想明确传递 USE INDEX。这个查询有什么问题?

【问题讨论】:

标签: mysql ruby-on-rails ruby database indexing


【解决方案1】:

当你想要一个连接(引擎盖下可以使用索引)但不需要修改任何对象时使用joins,当你想要预加载但需要修改一些对象时使用includes .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多