我正在尝试做一些查询优化;将 SQL 查询带入关系代数并对其进行优化。
我的数据库表架构如下:
Hills(MId, Mname, Long, Lat, Height, Rating,... )
Runners(HId, HName, Age, Skill,... )
Runs(MId, CId, Date, Duration)
Runners 和 Hills 中可能有很多列。
我的 SQL 查询是:
SELECT DISTINCT Runners.HName, Runners.Age
FROM Hills, Runners, Runs
WHERE Runners.HId = Runs.HId AND Runs.MID = Hills.MId AND Height > 1200
所以我可以从做开始:
π Name, Age(σ Height > 1200 (Hills × Runners × Runs))
或者类似的东西,然后用一个很好的连接选择来优化它,但我不知道从哪里开始