ПОКРЫВАЮЩИЕ ИНДЕКСЫ
Если индексом предоставляются все требуемые столбцы, тогда вообще не надо считывать строки данных из таблицы. Если у вас на работе сломался монитор то это не повод его выбрасывать, отремонтировать монитор быстро и не дорого вам могут тут: http://elektronik.dp.ua/.
Представьте, если записи телефонной книги содержали бы только номер страницы; после того как найдена фамилия, потребовалось бы перейти на страницу, на которую указывает ссылка, чтобы узнать фактический номер телефона. Более рационально искать информацию за один шаг. Поиск фамилии выполняется быстро, так как записи в книге упорядочены, и прямо на месте можно получить другие атрибуты, необходимые для данной записи, такие как номер телефона и, возможно, адрес.
Вот как работает покрывающий индекс. Можно определить индекс для включения дополнительных столбцов, даже если они в других обстоятельствах не нужны для индекса.
CREATE INDEX BugCovering ON Bugs
(status, bug_id, date_reported, reported_by, summary);
Если запрос ссылается только на столбцы, включенные в структуру данных индекса, базой данных генерируются результаты запроса путем чтения только индекса.
SELECT status, bug_id, date_reported, summary FROM Bugs WHERE status = 'OPEN';
Базе данных не требуется считывать соответствующие строки из этой таблицы. Покрывающие индексы нельзя использовать для каждого запроса, но при возможности их применение обычно дает большой выигрыш в производительности.
В некоторых базах данных существуют инструменты, автоматически собирающие статистику трассировки запросов и предлагающие ряд изменений, включая создание новых индексов, которые пропущены вами, но от которых запрос получает преимущества. Например:
• Design Advisor в СУБД IBM DB2;
• Database Engine Tuning Advisor в СУБД Microsoft SQL Server;
• Enterprise Query Analyzer в СУБД MySQL;
• Automatic SQL Tuning Advisor в СУБД Oracle.
Даже не пользуясь автоматическими советниками, можно изучить, как узнать, когда запрос получает выигрыш от индекса. Чтобы интерпретировать показатели QEP-отчета, необходимо проштудировать документацию по базе данных.
Опубликовал vovan666
July 19 2013 07:01:30 ·
0 Комментариев ·
8563 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.