是否可以优化我的查询?

Fab*_*cio 1 mysql sql query-optimization

(你可以在这里理解更好的阅读)

我想知道是否有可能优化此查询:

SELECT id_type, value FROM Action, Action_set WHERE id_action = id_action_p1 AND id_action_set = 1
UNION ALL
SELECT id_type, value FROM Action, Action_set WHERE id_action = id_action_p2 AND id_action_set = 1
UNION ALL
SELECT id_type, value FROM Action, Action_set WHERE id_action = id_action_p3 AND id_action_set = 1
UNION ALL
SELECT id_type, value FROM Action, Action_set WHERE id_action = id_action_p4 AND id_action_set = 1
UNION ALL
SELECT id_type, value FROM Action, Action_set WHERE id_action = id_action_p5 AND id_action_set = 1
UNION ALL
SELECT id_type, value FROM Action, Action_set WHERE id_action = id_action_p6 AND id_action_set = 1
UNION ALL
SELECT id_type, value FROM Action, Action_set WHERE id_action = id_action_p7 AND id_action_set = 1
UNION ALL
SELECT id_type, value FROM Action, Action_set WHERE id_action = id_action_p8 AND id_action_set = 1
Run Code Online (Sandbox Code Playgroud)

Joh*_*nde 6

尝试:

SELECT id_type, value 
FROM Action, Action_set 
WHERE id_action IN (id_action_p1,id_action_p2,id_action_p3,id_action_p4,id_action_p5,id_action_p6,id_action_p7,id_action_p8) 
AND id_action_set = 1
Run Code Online (Sandbox Code Playgroud)

如果有多行尝试:

SELECT id_type, value 
FROM Action, Action_set 
WHERE (id_action = id_action_p1
     OR id_action = id_action_p2
     OR id_action = id_action_p3
     OR id_action = id_action_p4
     OR id_action = id_action_p5
     OR id_action = id_action_p6
     OR id_action = id_action_p7
     OR id_action = id_action_p8) 
AND id_action_set = 1
Run Code Online (Sandbox Code Playgroud)