我的查询的加载时间有一个很大的问题。在这种情况下,我需要home_team_id和away_team_id(表格:匹配)的列hg_ft_won(表格值:)。从另一个表中选择值 - 太慢
它确实工作,因为它应该。加载只需要很长时间。有没有人有想法如何通过具有替代查询来改善?
$sql = $conn->query("SELECT m.home_team_name,
m.away_team_name,
m.home_team_id,
m.away_team_id,
m.starting_time,
m.starting_date,
m.match_id,
m.season_id,
m.competition_id,
s.season_name,
s.country_name,
s.competition_name,
(SELECT hg_ft_won
FROM `values` v
WHERE m.home_team_id = v.team_id
AND m.season_id = v.season_id) AS hg_ft_won1,
(SELECT hg_ft_won
FROM `values` v
WHERE m.away_team_id = v.team_id
AND m.season_id = v.season_id) AS hg_ft_won2,
FROM matches m,
seasons s
WHERE m.season_id = s.id
AND m.starting_date = '2017-02-11'");
值表
匹配表
您可以先使用连接而不是子查询来获得'hg_ft_won1'和'hg_ft_won2'。您还应该检查您的表格是否已正确编制索引。 –
我尝试过INNER JOIN,但无法使其正常工作。 – vloryan
什么不起作用?错误?错误的结果?发布该尝试以及。 –