45
правок
Изменения
→Семантические оптимизации
Семантическая оптимизация
*Применение знания об ограничениях**Неэквивалентные запросы**Тот же результат
Пример оптимизации
*Ограничение
*У всех, кто получает стипендию все оценки ≥60
check not HasScolarship or 60 <=
all (select Points from Points where Points.SId = Id)
*Запрос
**Оценки стипендиатов группы M34391 по СУБД
select Points from Students natural join Points
where HasScolarship and CId = 10 and GId = M34391
**$σ_{HasScolarship ∧ CId = 10}(Students ⋈ Points)$
*Оптимизированный запрос
**$σ_{GId=M34391 ∧ HasScolarship}(Students) ⋈⋈ σ_{60 ≥ Points ∧ CId = 10}(Points)$