69
по адресу "http://yakira.ru" появилась главная страница сайта, идентичная
отображенной на рисунке 21.
По мере раскрутки сайта возрастает число посетителей и активность на
нем, а следовательно – количество запросов к базе данных. Для раскрученных и
часто посещаемых веб-сайтов существует проблема производительности БД
при частых и сложных запросах к ней. При небольшой активности время
выполнения сложного запроса не особо заметно, но при сотне таких запросов,
10 миллисекунд, потраченные на выполнение одного запроса уже дают
суммарную задержку в 1 секунду. При слишком большой нагрузке посетитель
может не дождаться загрузки нужной ему страницы, а в некоторых случаях
сайт может вообще "зависнуть". Поэтому при разработке сайтов, рассчитанных
на частые посещения, необходимо оптимизировать запросы к БД, а иногда и
структуру самой БД.
Как правило, существует несколько вариантов запроса для получения
определенной выборки из БД, и эти варианты различаются по времени
выполнения и затратам ресурсов. Оптимизация заключается в нахождении
оптимального способа из всех возможных. [7]
Благодаря непроцедурному языку программирования SQL, вся работа
программиста заключается в описании данных, которые нужно извлечь или
модифицировать, а СУБД при обработке конкретного SQL-запроса решает
каким образом это сделать. Большинство современных СУБД автоматически
оптимизируют запросы, оценивая альтернативные способы получения
результатов и выбирая наиболее эффективный. Для оценки СУБД используют
алгоритмы анализа, называемые планами выполнения запросов. Эти планы
представляют собой последовательность действий, необходимых для
получения результата SQL-запроса в СУБД. [29]
Но иногда этого бывает не достаточно, и тогда необходим личный анализ
выполняемых запросов разработчиком, после чего можно принять правильное
решение. В этом случае для написания правильных запросов надо понимать,
каким образом СУБД воспримет то или иное выражение.