/ / Ako index mysql tabuľku s vlastným poľom vybrať - mysql, indexovanie, optimalizácia dotazu

Ako index mysql tabuľky s vlastným poľom vybrať - mysql, indexovanie, optimalizácia dotazu

Ako môžem indexovať tabuľku mysql podľa daného dotazu?

  SELECT
IF(
flag IN ("A", "B")
AND status IN ("on"),
"A",
flag
) AS customized_flag,
IF(
agent_group = "A",
"group_1",
"group_2"
) AS group,
COUNT(*) AS total
FROM
mytable
WHERE type IN (1, 2, 3, 4, 5)
AND publish = 1
AND status IN ("on", "deleted", "expired",)
GROUP BY customized_flag,
agency_package_status ;

príznak môže byť A, B, C, D

agent_group môže byť A, B, C, D

type je akékoľvek celé číslo

Moje vzorové údaje tabuľky sú uvedené nižšie

tu zadajte popis obrázku

odpovede:

1 pre odpoveď č. 1

Zmeniť na

GROUP BY customized_flag, `group`

pridať

INDEX(publish, type, status)

0 pre odpoveď č. 2

Otázka je platná Otázka sa pokúša zistiťspôsob pridávania indexu na vlastné pole v tomto dotaze customized_flag, ktorý neexistuje ako pole v tabuľke ... ale v dopyte, ktorý vytvoril, aby získal požadovaný výsledok ...