Главная » Просмотр файлов » Программирование баз данных MS SQL Server

Программирование баз данных MS SQL Server (1084479), страница 89

Файл №1084479 Программирование баз данных MS SQL Server (Программирование баз данных MS SQL Server) 89 страницаПрограммирование баз данных MS SQL Server (1084479) страница 892018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 89)

В данном разделе рассматривается каждая из этих операций, начиная с операции создания. Для создания индексов применяются два указанных ннлсе способа. 1д Создание индекса с помощью явно заданной команды скеАте 111гзех. О Неявное создание индекса как обязательного объекта в резулыате ввода в действие некоторого ограничения. 354 Глава 9 Каждый из указанных способов имеет свои особенности, касающиеся того, что может или не может быть осуществлено с его помощью, поэтому рассмотрим каждый из них отдельно. Оператор свжлте пюжх Оператор СВЕАТЕ 1МОЕХ осуществляет действие, полностью соответствующее его смыслу, — создает на указанной таблице или представлении индекс, основанный на заданных столбцах. Синтаксическая структура оператора создания индекса является довольно разнообразной, и в ней используются некоторые элементы, которые фактически до сих пор не рассматривались в данной книге: СВЕАТЕ [НМ1ООЕ) [СЬОЯТЕВЕП(МОМСЬОБТЕВЕО) 1МРЕХ <1паех паве> ОМ <ГаЬ1е сг о1ен паве>(<сс1пвп пате> (АяС)ОЕБС] [,...и]) 1МСЬПВЕ (<сс1пвп пате> [, ...и]) [М1ТН [РАО 1МОЕХ = ( ОМ ) ОГГ )) [[,) Г1ЬЬГАСТОВ = <Ш11асссг>) [[,) 16МОВЕ ООР КЕХ = ( ОМ ! ОГГ ]] [[,] ОВОР ЕХ1БТ1М6 = ( ОМ ! ОГГ )] [[,] ЯТАТ1БТ1СЯ МОВЕСОМРОТЕ = ( ОМ ! ОГГ )] [[,] ЯОВТ 1М ТЕМРПВ = ( ОМ ) ОГГ )] [[,] ОМ11МЕ = ( ОМ ! ОГГ [[,) А11ОИ ВОМ 1ОСКЯ = ( ОМ ! ОГГ ) [[,] АЬЬОИ РАБЕ ЬОСКБ = ( ОМ ) ОГГ ] [[,] ИАХООР = <тахгвпт с)есгее сГ рага11е11зт> ) (ОМ (<Шецгспр> 1 <рзгГЬГЬсп зспете паве> ! ОЕГАОЬТ )] В последней версии 5(~® 5егоег многие опции синтаксической конструкции операню)за создания индекса изменились, поэтому варианты, применявшиеся в предыдуших версиях, теперь рассматриваются как устаревшие тем не менее во многих разработках встречактся случаи применения устаревшего синтаксиса в целях обеспечения совместимости с предыдуозими вг)(> сиями 5ЯЬ 5егоег.

Однако уст<к>евшие варианты синтаксических консюРукций больше не поддерживаются и со временем их применение будет запртцеко, поэтому авоюр настоятельно рекомендувп п)зи любой возможности ст))емиться использовать более новый синтаксис. Дяя ЕОЯдЕНИЕ.:Ь(НдЕКСОВ.Т()цй. игр|И(яФНяв(ря Е|МЕяЕГМЧМйй СИНтахснй, Кгцррийе ТЕМ'.ИЕ:МЕНЕЕ, : имеет еущеегеемЙь)е етл))цдкж ийФюгее((ия по етой(теме приеедеее|е хенце даецесог Рездеж Вообще говоря, синтаксическая структура оператора создания индекса соответствует такому же общему образцу, СВЕАТЕ <ОЬБ есс Суре> <оЬ5 есг пате>, как и многие другие операторы создания объектов, рассматривавшиеся до сих пор (а также напоминает те операторы создания объектов, о которых еще будет идти речь в настоящей книге). Специфика оператора создания индекса состоит в том, что в нем используется несколько промежуточных параметров, которые не встречаются в других операторах.

Так же как и в операторах создания представлений, которые будут рассматриваться в следующей главе, в операторе создания индекса приходится вводить дополни- Структуры памяти и индексные структуры БЯЬ Беггег 355 тельную конструкцию с учетом того факта, что индекс в действительности не представляет собой автономный объект. Индекс относится к некоторой таблице или к некоторому представлению, поэтому должно быть указано, к какому объекту относится столбец (столбцы), на котором задан индекс, с помощью ключевого слова "ОЕ". Обязательной является только конструкция РЕ <СаЬ1е ог чйеи паве> (<со1пвп папе>), а все остальные конструкции, которые следуют за ней, являются необязательными. Элементы синтаксического определения оператора создания индекса могут применяться в самых разных сочетаниях.

Многие из этих элементов используются редко, а другие (такие как Г11РГАСТОЕ) могут оказывать существенное влияние на производительность системы и действия, осуществляемые в системе, поэтому ниже приведено последовательное описание различных опций. Опция ляс/РеБС Ключевые слова АЯС и РЕЯС позволяют указывать, должен ли применяться в индексе порядок сортировки по возрастанию или по убыванию. По умолчанию применяется ключевое слово АЯС (сокращение от азсепсйпя), которое, как и следовало ожидать, означает порядок сортировки по возрастанию. На первый взгляд может показаться, что от выбора порядка сортировки по возрастанию или по убыванию мало что зависит, поскольку СУБД БОЬ Яеггег позволяет просто выполнять просмотр в индексе в обратном порядке, если для поиска данных потребуется применение противоположного порядка сортировки.

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

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

При использовании предыдущих версий ЯОЬ Яеггег потребовалось бы выполнить две операции, относящиеся к первому и ко второму столбцам. А поскольку современная версия позволяет управлять порядком сортировки физически хранимых данных, обеспечивается свобода выбора способа комбинирования столбцов, применяемых в процессе обработки. Вообще говоря, обычно не рекомендуется использовать опцию АЯС/РЕЯС (поскольку и в этом случае приходится учитывать проблемы обратной совместимости). 356 Глава 9 Тем не менее ниже указаны ситуации, в которых обычно приходится отступать от этой рекомендации.

С1 Существует необходимость в использовании разных вариантов порядка сортировки по возрастанию и по убыванию в различных столбцах. С3 Проблема обеспечения обратной совместимости не является актуальной. Опция ЕНСА(ШЕ Опция 1ьгСЕУРЕ представляет собой одно из самых удобных нововведений, впервые предложенных в версии Я11. Яегчег 2005. Назначение этой опции состоит в обеспечении лучшей поддержки так называемых охваченных запросов. Опция 1ьгСЬРРЕ позволяет указывать определенные столбцы в конструкции 1ЯСРУРЕ, а не указывать их только в конструкции Рьг. В таком случае СУБД ЯЯ1.

Яегчег переносит содержимое указанных столбцов на листовой уровень индекса. Как уже было сказано, каждая строка на листовом уровне индекса соответствует строке данных, поэтому применение опции 1МСЬУРЕ по существу равнозначно перемещеншо части исходных данных на листовой уровень индекса. Безусловно, изучение возможной области применения опции 1ггСРУРЕ позволяет сделать вывод, что в действительности эту опцию имеет смысл применять только при создании некластеризованных индексов (кластеризованные индексы уже содержат данные на листовом уровне, поэтому для них нет смысла использовать рассматриваемую опцию). Преим)щдеств, которые могут быть получены при использовании опции 1ггСРУРЕ, обусловлены тем, что в СУБД ЯО). Ьегчег применяется принцип, в соответствии с которым выполнение любой текущей операции прекращается сразу после того, как фактически достигается цель этой операции (о чем еще не раз будет идти речь в настоящей книге).

Поэтому, если в СУБД ЬЯ1. Зегчег в процессе обработки индекса обнаруживается, что все необходимые данные могут быть получены без перехода к строке с действительными данными, то переход к выполнению операции чтения строки данных не выполняется (так как это бессмысленно). Включая в индекс конкретный столбец с помощью опции 1лгсеУРе, можно "охватить" тот запрос. в котором используется данный конкретный индекс на листовом уровне, и обойтись без применения для перехода к странице с данными операций ввода-вывода, связанных с использованием указателя индекса.

Сыдует учитывать, что п)еменение опции 1Л1СЬУРЕ гфиводит и к от)гицательным последствиям! Включение данных из отдельных сонибцов в индекс с помощью опции 1ИСЬУРЕ влечет зо собой увеличение )газмфов спфок индекса листового у)говня. Это вызывает умен ьшение количества софов индекса, которыеэгосут быть(газлмщены на одной ст)ганиче, поэтому для вибо)гки одного и того же количеапва ст)гок может пот)гебоватьсл выполнение большего количества опфаций ввода- вывода. В )гягулътате может ок озатьгя, что попытка ) схсфи т ь выпазнение одного загфоса пфиведет к снижению быст)годействил п)за выполнении фупгх загфосов. Поэтому необходимо выдфживать )гавновесие. Подумайпм о тан, кагсое влияние окажет п)пгменение опции 1ЛгСЬ УРЕ на все компоненты ваиий системы, а не т ольха на тот котфетный загфос, котгфыи вы ст)гелгитесь)ггализовать в текущий маненпг Опция ЛЕТН Опция и11В не требует особых пояснений, поскольку она применяется лишь для передачи СУБД КО1.

Характеристики

Тип файла
PDF-файл
Размер
39,07 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6314
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее