У меня есть 3 отдельных запроса, и когда я объединяю их с помощью левого соединения, падение производительности огромно
Есть идеи, почему это может происходить или как решить эту проблему?
Здесьзапросы
первый запрос
SELECT MONEY,
AccountLevel,
BadgeCount,
EloWin,
TournamentOfficBattleTotal,
MaximumTowerLevel,
NpcBattleVictoryCount
FROM table_2
WHERE table_2.UserId = 465903
второй запрос
SELECT COUNT(DISTINCT table_1.PokemonId) AS PokedexOwnage
FROM table_1 WHERE UserId = 465903
третий запрос
SELECT COUNT(*) AS PokedexEvent
FROM table_3 WHERE UserId = 465903
и здесь мое решение объединить все 3 в один
SELECT MONEY,
AccountLevel,
BadgeCount,
COUNT(DISTINCT table_1.PokemonId) AS PokedexOwnage,
COUNT(DISTINCT table_3.PokemonId) AS PokedexEvent,
EloWin,
TournamentOfficBattleTotal,
MaximumTowerLevel,
NpcBattleVictoryCount
FROM table_2
LEFT JOIN table_1 ON table_1.UserId = table_2.UserId
LEFT JOIN table_3 ON table_3.UserId = table_2.UserId
WHERE table_2.UserId = 465903
GROUP BY AccountLevel,
BadgeCount,
EloWin,
TournamentOfficBattleTotal,
MaximumTowerLevel,
NpcBattleVictoryCount,
MONEY
Когда я сравниваю с помощью плана выполнения, первые 3 запроса принимают 0% относительной стоимости кпоследний запрос