Техники оптимизации для бизнес-аналитики

В этом разделе описываются две техники оптимизации, связанные с ROLAP. Иными словами, эти техники могут быть применены только по отношению к хранению многомерных данных. В начале этой главы обсуждается, когда имеет смысл хранить все экземпляры сущности в одной таблице, а когда лучшим решением с точки зрения производительности - в разделенных таблицах данных. После общего введения даются способы, которые можно использовать для разделения данных. Помимо общих правил разделения данных В этом разделе описываются улучшения в SQL Server 2008, связанные с этими техниками. Затем подробно объясняется техника оптимизации запросов, называемая схемой «звезда». Будут представлены преимущества этой техники, а также использование фильтров битовых образов.

Оценить
(0 голоса)
В SQL Server 2008 было изменено внутреннее представление разделенных таблиц, такая таблица представляется процессору запросов в виде составного (содержащего несколько столбцов) индекса с разделяемым столбцом в качестве лидирующего столбца. Этот столбец, называемый partitionediD, является скрытым вычисляемым столбцом, используемым внутренне для представления идентификатора раздела, содержащего указанную строку. Предположим, например, что существует таблица tab с тремя столбцами coll, co12 и co13. (coll используется для разделения таблицы, а со12 является кластерным индексом.) В SQL Server 2008 такая таблица внутренне трактуется как неразделенная таблица со схемой tab (partitionID, coll, со12 со13) и с кластерным индексом с составным ключом (partitionio, со12). Это позволяет оптимизатору запросов…
Оценить
(0 голоса)
В SQL Server 2005 один поток был выделен на раздел, когда запрос обращался к нескольким разделам. Иными словами, каждый запрос, который применялся к разделенным таблицам, не мог выполняться параллельно. (Определение параллельных запросов.) Это может привести к проблемам производительности в системах с несколькими центральными процессорами, если схема таблицы содержит меньше разделов, чем существует центральных процессоров. В этом случае не все CPU будут использованы для обработки запроса. SQL Server 2008 предоставляет две стратегии выполнения запросов для параллельных планов запросов к разделенным объектам: стратегия одного потока на раздел и стратегия нескольких потоков на раздел. В стратегии одного потока на раздел оптимизатор запросов назначает…
Оценить
(0 голоса)
Следующие советы являются основными правилами для разделенных таблиц и индексов. ♦ Не разделяйте каждую таблицу. Разделяйте только те таблицы, к которым осуществляется обращение наиболее часто. ♦ Размышляйте о разделении таблицы только в том случае, когда она является огромной, т. е. если она содержит, по меньшей мере, несколько сотен тысяч строк. ♦ Для лучшей производительности используйте разделенные индексы для уменьшения количества конфликтов между сессиями. ♦ Сохраняйте равновесие между количеством разделов и количеством процессоров в вашей системе. Если для вас нет возможности установить отношение 1:1 между количеством разделов и количеством процессоров, задайте количество разделов в виде кратного множителя количества процессоров. ♦ Не…
Оценить
(0 голоса)
Как вы уже знаете, схема снежинки является основной формой в структурах данных хранилища данных. Такая схема обычно имеет одну таблицу фактов, которая связана с несколькими таблицами измерений. Таблица фактов может иметь 100 млн строк или более, тогда как таблица измерений содержит гораздо больше миллионов строк. Обычно при решениях поддержки запросов некоторые размеры таблиц объединяются с соответствующими таблицами фактов. Можно получить значительное увеличение производительности, если оптимизатор запросов сможет распознавать эти запросы и применять для этого особые техники. Использование таких техник в оптимизаторе запросов обычно называется оптимизацией StarSchema. Давайте используем пример 26.8, где работает схема оптимизации запросов StarSchema.   Предыдущий пример является…
Оценить
(0 голоса)
Database Engine поддерживает упорядоченное разделение данных и индексов, что является совершенно прозрачным для приложений. Упорядоченное разделение осуществляет разделение строк, основанное на значении разделяющего ключа. Иными словами, данные разделяются при использовании значений разделяющего ключа. Если вы хотите разделять ваши данные, вы должны выполнить следующие шаги: 1. Создать файловую группу для каждого раздела. 2. Создать функцию разделения и схему разделения. 3. Создать разделенные индексы (если необходимо). Используя различные файловые группы для разделяемых данных, вы достигаете лучшей производительности, большей доступности данных и более простой поддержки. Функция разделения служит для размещения строк таблицы или индексов в разделах, основанных на значениях заданного столбца. Для создания…
«ПерваяПредыдущая12СледующаяПоследняя»
Навигация
© 2013 serversql.ru. Все права защищены.