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
odpovede:
1 pre odpoveď č. 1Zmeniť 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 ...