1. 程式人生 > >我們到底該不該使用 force index()索引?

我們到底該不該使用 force index()索引?

工作中遇到一個棘手的問題,一個即將被丟棄的系統 有這樣的一個查詢 select * from tb_O force index(idx_create_time) inner join tb_task_A inner join tb_task_B inner join tb_C on ... where tb_O.create_time < '2017-08-23 00:00:00' and ... 注意上面四個聯合join時,現狀 tb_O 資料量超過 1000W , tb_task_A 500行 ,tb_task_B 417 行,tb_C 50W行。 實際執行時間超過45秒,因為mysql推薦了一個低效率的索引。 避免MySQL優化器用到了一個低效的索引,我們可以使用 強制索引避免推薦索引。 前提我們的確用了索引作為查詢條件。