Как избежать этого запроса для регистрации при включении --log-queries-not-using-indexes
?Избегайте запроса RAND() из медленного журнала запросов
EXPLAIN SELECT id,autor,description
FROM (
SELECT @cnt := COUNT(*) + 1,
@lim := 3
FROM testimonale
) vars
STRAIGHT_JOIN
(
SELECT r.*,
@lim := @lim - 1
FROM testimonale r
WHERE (@cnt := @cnt - 1)
AND RAND() < @lim/@cnt
) i;
EXPLAIN
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> system 1
1 PRIMARY <derived3> ALL 3
3 DERIVED r ALL 8 Using where
2 DERIVED Select tables optimized away
SET sql_log_bin = 0; запрос SET sql_log_bin = 1; ? – Dave
также может выполнять SET log_queries_not_using_indexes = 0; а затем установите его на 1, вместо этого вам придется искать фактическое имя переменной sql, но это что-то вроде выше. – Dave
Вы спрашиваете, как сделать этот запрос индексом? – RandomSeed