Не бих препоръчал използването на STRAIGHT_JOIN без основателна причина. Моят собствен опит е, че MySQL оптимизаторът на заявки избира лош план за заявки по-често, отколкото бих искал, но не достатъчно често, за да го заобикаляте като цяло, което бихте направили, ако винаги използвате STRAIGHT_JOIN.
Моята препоръка е да оставите всички заявки като обикновени JOIN. Ако откриете, че една заявка използва неоптимален план за заявка, бих предложил първо да опитате да пренапишете или преструктурирате заявката малко, за да видите дали след това оптимизаторът ще избере по-добър план за заявка. Освен това, поне за innodb, уверете се, че не само статистическите ви индекси са остарели (ТАБЛИЦА ЗА АНАЛИЗ ). Това може да накара оптимизатора да избере лош план за заявка. Съветите за оптимизатор обикновено трябва да са последното ви средство.
Друга причина да не използвате подсказки за заявка е, че вашето разпределение на данни може да се промени с течение на времето или вашата селективност на индекса може да се промени и т.н. с нарастването на вашата таблица. Вашите съвети за заявка, които са оптимални сега, може да станат неоптимални с течение на времето. Но оптимизаторът няма да може да адаптира плана на заявката поради вашите вече остарели намеци. Вие оставате по-гъвкави, ако позволите на оптимизатора да взема решенията.