Mysql

我可以告訴 mariadb 哪個查詢計劃用於給定查詢嗎?

  • April 2, 2020

我有一個查詢隨著時間的推移會獲得不同的查詢計劃,其中一個需要不到一分鐘的時間來執行,另一個需要幾天。我可以告訴數據庫使用給定的計劃(取自解釋或使用內聯指令),以便始終使用好的計劃,或者至少總是避免災難性的計劃嗎?好的計劃只有 ref 連接,而壞的計劃也有 index 和 eq_ref 以及不同的排序。

有很多被動性迫使 mariadb

例如:

  • 強制加入順序
  • 強制使用 WHERE 子句的特定索引
  • 使用索引:使用一組有限的索引
  • 忽略索引:不要使用特定索引
  • FORCE INDEX:強制索引

它們如何工作以及如何使用它

https://mariadb.com/kb/en/index-hints-how-to-force-query-plans/

引用自:https://dba.stackexchange.com/questions/264168