0
當存在多個JOIN
時,是否有辦法在Rails中激活具有活動記錄的JOIN
上的索引?如何使用主動記錄指定JOIN中的'USE INDEX'
我想是要生成的SQL結束:
SELECT *
FROM table1
INNER JOIN table2
ON table1.id = table2.id
INNER JOIN table3 USE INDEX('my_index')
ON table2.new_id = table3.new_id
希望這樣的事情是可能的?
哪個數據庫?通常數據庫會決定是否使用索引。如果您在正確的字段上創建索引,並且數據庫的查詢計劃員認爲該索引對您提交的查詢有意義,則它將使用該索引。 –
@DaveSlutzkin這會很好,但至少MySQL在使用現有索引時有時會做出非常糟糕的決定。 – spickermann
讓我們看看實際的查詢,再加上'SHOW CREATE TABLE'。也許我們可以改變一些東西來達到目的。 –