J'essaie d'optimiser les requêtes; prendre une requête SQL en algèbre relationnelle et l'optimiser.Bases de données Optimisation de l'algèbre relationnelle
Mes db schémas tables sont les suivantes:
Hills(MId, Mname, Long, Lat, Height, Rating,...)
Runners(HId, HName, Age, Skill,...)
Runs(MId, CId, Date, Duration)
où il peut y avoir de colonnes dans les coureurs et les collines.
Ma requête SQL est:
SELECT DISTINCT Runners.HName, Runners.Age
FROM Hills, Runners, Runs
WHERE Runners.HId = Runs.HId AND Runs.MID = Hills.MId AND Height > 1200
donc je pourrais commencer par faire:
π Name, Age(σ Height > 1200 (Hills × Runners × Runs))
Ou quelque chose comme ça et l'optimisation avec un bon choix de jointures, mais je ne suis pas sûr où commencer
optimiser dans quelle plateforme? pourquoi ne pas s'en tenir au SQL et optimiser cela? quel est l'objectif final? – Randy
Que comptez-vous exactement réaliser avec une telle optimisation? Normalement, les requêtes SQL sont optimisées pour la vitesse en utilisant le plan de requête et en définissant les index corrects ... quelle est la théorie derrière une optimisation algèbre relationnelle? – thomaspaulb
Parce que c'est ce que fait chaque RDBMS à l'arrière. L'optimisation physique est juste la dernière partie de celui-ci. Grâce au fonctionnement très «lâche» du modèle relationnel, de nombreuses requêtes peuvent être écrites de plusieurs façons et l'ordre dans lequel différents opérateurs relationnels sont appliqués peut signifier une différence massive de complexité. C'est à dire. les sélections en premier contre celles en premier, etc. –