Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оптимизация запросов




Для реляционных систем оптимизация является как проблемой, так и возможностью повышения производительности.

Проблема оптимизации состоит в том, что некоторые системы для достижения определенного уровня производительности требуют оптимизации. Оптимизация позволяет улучшить работу системы, так как одной из сильных сторон реляционного подхода является то, что применение оптимизации к реляционному выражению переводит это выражение на более эффективный семантический уровень.

С другой стороны, в нереляционных системах, в которых пользовательские запросы выражаются на более низком семантическом уровне, любая оптимизация должна выполняться программистом вручную.

В подобных системах программист, а не система, определяет, какие операции низкого уровня должны быть выполнены и в какой последовательности. И если программист принял неправильное решение, то система никак не сможет исправить положение.

Преимущество автоматической оптимизации заключается в том, что пользователь или программист может не задумываться над наилучшим способом выражения своих запросов, то есть над тем, как сформулировать запрос лучше, чем программист, по следующим причинам:

1) Хороший оптимизатор обладает достаточным количеством информации, которой пользователь может не иметь. Оптимизатор должен обладать некоторыми статистическими данными, такими как: кардинальное число отношения, количество различающихся значений для каждого атрибута отношения, количество вхождений каждого значения данного атрибута. Благодаря наличию этих данных оптимизатор способен более точно оценивать эффективность любой стратегии, реализации конкретного запроса и выбрать наилучшую стратегию.

2) Если с течением времени статистика базы данных значительно изменится, например, в результате ее реорганизации, то для реализации запроса может потребоваться совершенно иная стратегия, чем до реорганизации. Другими словами, может понадобиться повторная оптимизация. В реляционных системах процесс повторной оптимизации достаточно тривиален. Это просто повторная обработка исходного запроса системным оптимизатором. В нереляционных системах повторная оптимизация требует переписывания программы, а в некоторых случаях вообще не выполнима.

3) Оптимизатор способен рассматривать сотни различных стратегий реализации запроса, в то время как программист, как правило, изучает всего три-четыре. Назначение оптимизатора состоит в выборе эффективной стратегии реализации запросов. На практике оптимизированной стратегией обычно считается та, которая является некоторым улучшением исходной стратегии выполнения запроса.




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 451; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.