Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Тоу Д. -> "Настройка SQL. Для профессионалов" -> 11

Настройка SQL. Для профессионалов - Тоу Д.

Тоу Д. Настройка SQL. Для профессионалов — СПб.: Питер, 2004. — 333 c.
ISBN 5-94723-959-0
Скачать (прямая ссылка): nastroykasqldlyaprof2004.djvu
Предыдущая << 1 .. 5 6 7 8 9 10 < 11 > 12 13 14 15 16 17 .. 161 >> Следующая

Оказывается, разработчики, настраивающие только собственные SQL-програм-мы, находятся в крайне невыгодном положении, особенно если они не обучались правильному, систематическому методу настройки (а литературы, посвященной данной теме, всегда было мало). Довольно трудно написать реальное работающее функциональное приложение, даже не ставя перед собой задачу получить высокий уровень производительности. Время, отводимое среднему разработчику на настройку SQL, коротко, а число самостоятельно созданных примеров, на которых разработчику приходится практиковаться, чтобы составить экспертную оценку, также невелико.

В данной книге описывается лучший из известных мне методов — метод, разработанный мною для удовлетворения собственных нужд в настройке SQL-запро-сов на основании десятков приложений, написанных другими людьми. Однако если вы действительно хотите стать первоклассным настройщиком SQL, этого метода недостаточно. Вам также необходимо практиковаться. Практиковаться на множестве SQL-программ, созданных другими разработчиками, работать с целыми SQL-приложениями. Ho как справиться со сложностью SQL-приложений во всей их полноте, к тому же приложений, с которыми вы едва знакомы? Вот где SQL преподнес мне большой сюрприз. Вам не нужно понимать написанные другими людьми программы на SQL, чтобы настраивать их!

Рассматривайте SQL как спецификацию — ясное и непротиворечивое описание того, какие строки из каких таблиц требуются для приложения в определенном месте выполнения программы. SQL прост в понимании, потому что он был разработан для нерегулярного использования его обычными пользователями, не обладающими подготовкой программиста. Он непротиворечив по необходимости; в противном случае система управления базой данных не могла бы его интерпретировать. Вам не нужно знать, зачем приложению требуются те или иные строки или даже какие именно данные в них содержатся. Просто обращайтесь с записями и таблицами как с абстрактными, даже математическими объектами. Все, что необходимо знать, и все, что необходимо понять — это как быстрее добраться до этих строк. А узнать это можно, исследуя задействованные в данной операции SQL-запросы, таблицы и индексы при помощи простых обращений к базе данных, полностью независимых от семантического содержимого данных. Затем вы можете изменить SQL-запросы или базу данных (например, добавив необходимые индексы), причем простым способом, почти с математической точностью гарантирующим, что трансформированный результат вернет те же самые строки в том же самом порядке, но будет получать данные по лучшему, более быстрому пути.
Чем может помочь эта книга

25

Чем может помочь эта книга

Настройка SQL состоит из трех основных этапов. Необходимо:

1) понять, какой план выполнения (путь к данным, запрашиваемым вашим SQL-оператором) у вас имеется;

2) изменить SQL или базу данных, чтобы получить выбранный план выполнения;

3) выбрать оптимальный план выполнения.

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

Вот достаточно хорошо работающая аналогия. Понимание первого этапа дает вам чистое ветровое стекло; вы видите, где находитесь. Понимание второго шага вкладывает вам в руки рулевое колесо; вы можете изменять направление движения. Понимание третьего шага дает вам карту с отметкой вашего текущего положения, а также того места, куда вы хотите попасть. Представьте себе, что вы находитесь в чужом городе без дорожных знаков, без карты и пытаетесь как можно быстрее найти отель, название которого не знаете. Представили? Теперь вы начинаете постигать задачу обучения настройке SQL Без систематического использования третьего этапа проблема настройки SQL оказывается даже хуже, чем наша задача заблудившегося водителя. Обладая достаточным запасом времени, путешественник может исследовать всю двухмерную сетку городских улиц, но состоящая из 20 предложений операция соединения (JOIN) содержит около 20! (20 факториал, или 1х2хЗх4х...х 19х20) возможных планов выполнения, то есть необходимо исследовать 2 432 902 008 176 640 000 возможных вариантов. Даже ваш компьютер не сможет перебрать все комбинации в данном пространстве поиска. Для настройки вам необходим метод, которым вы можете воспользоваться вручную.

Учитывая вышесказанное, мы можем перевернуть традиционный процесс с ног на голову и спланировать более поучительный процесс, на этот раз выраженный в виде последовательности вопросов.
Предыдущая << 1 .. 5 6 7 8 9 10 < 11 > 12 13 14 15 16 17 .. 161 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100