0
複数のJOIN
が存在する場合、JOIN
のインデックスを強制的にRailsのアクティブレコードで強制する方法はありますか?activerecordを使用して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」を見てみましょう。多分、私たちは意図を達成するために何かを変えることができます。 –