THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама
  • Общие индексы количественных показателей
  • Общие индексы качественных показателей
  • Индексы средних величин
  • Базисные и цепные индексы
  • Индексы дефляторы
  • Индексный метод анализа факторов динамики

В статистике под индексом (index) понимается относительная величина (показатель), выражающая изменение сложного экономического явления во времени, в пространстве или по сравнению с планом. В связи с этим различают динамические, территориальные индексы, а также индексы выполнения плана. Многие общественные явления состоят из непосредственно не сопоставимых явлений, поэтому основной вопрос – это вопрос сопоставимости сравниваемых явлений. К какому бы экономическому явлению ни относились индексы, чтобы рассчитать их, необходимо сравнивать различные уровни, которые относятся либо к различным периодам времени, либо к плановому заданию, либо к различным территориям. В связи с этим различают базисный период (период, к которому относится величина, подвергаемая сравнению) и отчетный период (период, к которому относится сравниваемая величина). При исчислении важно правильно выбрать период, принимаемый за базу сравнения. Индексы могут относиться либо к отдельным элементам сложного экономического явления, либо ко всему явлению в целом.

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

В качестве соизмерителей индексируемых величин выступают тесно связанные с ними экономические показатели: цена, количество и др. Произведение каждой индексируемой величины на соизмеритель образует в индексном отношении определённые экономические категории.

Индивидуальные индексы

Показатели, характеризующие изменение более или менее однородных объектов, входящих в состав сложного явления, называются индивидуальными индексами .

Условные обозначения:

  • p – цена,
  • q – количество,
  • t – время,
  • T – численность,
  • f – з/п,
  • F – фонд з/п,
  • S – посевная площадь,
  • y – урожайность,
  • z – себестоимость.

Индекс получает название по названию индексируемой величины. В большинстве случаев в числителе стоит текущий уровень, а в знаменателе – базисный уровень. Исключением является индекс покупательной способности рубля. Индексы измеряются либо в виде процентов (%) , либо в виде коэффициентов .

Сводные индексы

Сложные явления, для которых рассчитывается сводный индекс , отличаются той особенностью, что элементы, их составляющие, неоднородны и, как правило, несоизмеримы друг с другом. Поэтому сопоставление простых сумм этих элементов невозможно. Сопоставимость может быть достигнута различными способами:

1. сложные явления могут быть разбиты на такие простые элементы, которые в известной степени являются однородными;

2. сравнение по стоимости, без разбиения на отдельные элементы.

Цель теории индексов – изучение способов получения относительных величин, используемых для расчета общего изменения ряда разнородных явлений.

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

Показатель, характеризующий соотношение явлений состоящих из разнородных элементов носит название общего (сводного) индекса и обозначается как — J . При этом, как правило, подстрочно дается значок, который указывает для оценки какой величины рассчитывается индекс. Например, общий индекс цен записывается следующим образом:

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

Показатель, изменение которого изучается, называется индексируемой величиной . При этом, для того чтобы измерить изменение индексируемой величины, следует исключить влияние на величину индекса изменение веса, т.е. веса нужно брать на одном и том же уровне.

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

Агрегатные индексы

Основной формой общих индексов являются агрегатные индексы .

Расчет индексов по агрегатным формулам возможен, если есть полные данные о физическом объеме продукции и о ценах как на уровне отчетного так и базисного периодов. В реальной действительности полные данные имеются не всегда. В таких случаях приходится исчислять индексы как среднюю взвешенную величину из индивидуальных индексов . Средний из индивидуальных индексов будет тогда правильным, когда он тождественен агрегатному индексу . Это означает, что средние из индивидуальных индексов не самостоятельные индексы, а преобразованная форма агрегатного индекса . При исчислении средних индексов могут быть использованы только две формы средних: средняя арифметическая и средняя гармоническая:


Теория статистики: конспект лекций Бурханова Инесса Викторовна

2. Индивидуальные индексы

2. Индивидуальные индексы

Индивидуальные индексы характеризуют соотношение отдельных элементов совокупности.

Примером индивидуальных индексов может быть процент выполнения плана или динамика выпуска одного вида продукции, процент выполнения плана или динамика себестоимости одного вида продукции или соотношение выпуска одного вида продукции за один и тот же период в разных областях.

Индивидуальный индекс обозначается буквой Он определяется методом сопоставления двух величин, характеризующих уровень исследуемого статистического процесса или явления во времени или в пространстве, т. е. за два сравниваемых периода Период (уровень которого сравнивается) называется отчетным. или текущим, периодом и обозначается подстрочным знаком «I» а период, с уровнем которого проводится сравнение, называется базисным и обозначается подстрочным знаком «О» или «ря», если при внутрифирменном планировании сравнение проводится с планом. Если изменение явлений изучается за ряд периодов то каждый период обозначается соответственно подстрочным знаком «О», «1», «2», «3» и т. д.

В статистике количество обозначают буквой «q», цену – «р». себестоимость – «z», затраты времени на производство единицы продукции – «t».

Индивидуальные индексы выражаются следующим образом:

где q 1 и q 0 – количество произведенной продукции в отчетном и базисном периодах. Данный индекс характеризует изменение физического объема продукции во времени, в пространстве, если сравнивать производство одного и того же вида продукции за один и тот же период времени, но по разным объектам (заводам, территориям и т. д.), и плана, если фактический выпуск сравнивать с плановым заданием;

где р 1 и р 0 – цена единицы продукции в отчетном и базисном периодах.

Индекс себестоимости:

где z 1 и z 0 – себестоимость единицы продукции в отчетном и базисном периодах. Индекс трудоемкости:

где t 1 и t 0 – затраты времени в отчетном и базисном периодах на производство единицы продукции.

Изменение объема реализации товара в стоимостном выражении отражает индивидуальный индекс товарооборота:

Приведенные выше индексы: цен, физического объема и товарооборота взаимосвязаны между собой:

Эта взаимосвязь показывает, что изменение товарооборота складывается под воздействием динамики цены и изменения объема продажи данного товара.

Индивидуальные индексы по существу – это относительные величины динамики, выполнения плана или сравнения. Индекс как относительный показатель выражается в виде коэффициентов, когда база для сравнения принимается за единицу, и в процентах, когда база для сравнения принимается за 100.

Базисные и цепные индексы

Для определения статистических индексов нужно иметь данные за два периода или два сравниваемых уровня.

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

В экономическом анализе базисные и цепные индексы обладают определенными значениями.

Базисные экономические индексы характеризуют изменение статистических процессов за длительный период времени по отношению к одной отправной точке, но если возникнет необходимость следить за текущими изменениями статистического процесса, то применяются цепные индексы.

Если на основе базисных и цепных индексов исследуется один и тот же период, то это обозначает, что между ними есть взаимосвязь – это произведение цепных индексов, равное базисному Такая взаимосвязь принесет возможность вычислить базисные индексы по данным цепных индексов, и наоборот.

Общие индексы

Общие индексы характеризуют соотношение совокупности статистических процессов или явлений, состоящей из разнородных, непосредственно несоизмеримых элементов. Для определения общей стоимости различных видов продукции в качестве со–измерителя используется обычно цена за единицу продукции, для определения общей себестоимости или производственных затрат – себестоимость единицы продукции, общих затрат труда – затраты труда на производство единицы продукции и т. д.

Общее изменение товарооборота от стоимости проданных товаров можно определять, сопоставив общую стоимость проданных товаров в отчетном периоде по ценам отчетного периода с общей стоимостью проданных товаров в базисном периоде по ценам базисного периода.

Формула общего индекса товарооборота:

Аналогично индексу товарооборота рассчитываются индексы продукции, потребления и т. д.

Приведенная выше формула индекса товарооборота называется агрегатной (от лат. aggrega – «присоединяю»). Агрегатными называются индексы, числители и знаменатели которых представляют собой суммы, произведения или суммы произведений уровней изучаемого статистического явления. Агрегатная формула индекса – основная и наиболее распространенная формула экономических ин

дексов. Агрегатная формула индекса показывает относительное изменение исследуемого экономического процесса и абсолютные размеры этого изменения.

Расчет агрегатного индекса цен по данной формуле был предложен немецким экономистом Г. Пааше, поэтому его принято называть индексом Пааше.

Из книги Нет мотива - нет работы. Мотивация у нас и у них автора Снежинская Марина

1.3. Индивидуальные особенности мотивации Процесс формирования мотива может иметь индивидуальные особенности в зависимости от свойств личности. Так, например, психастеники предъявляют необычайно высокие требования к своему моральному облику, поэтому у них в

Из книги Теория статистики: конспект лекций автора

ЛЕКЦИЯ № 11. Индексы 1. Понятие об индексах Особым видом относительных величин являются индексы. Индекс (Index) означает указатель, показатель. Особенности индексов в том, что:1) с помощью индексов одним числом можно выразить соотношение разнородных явлений, показатели

Из книги Общая теория статистики: конспект лекции автора Коник Нина Владимировна

2. Индивидуальные индексы Индивидуальные индексы характеризуют соотношение отдельных элементов совокупности.Примером индивидуальных индексов может быть процент выполнения плана или динамика выпуска одного вида продукции, процент выполнения плана или динамика

Из книги Теория статистики автора Бурханова Инесса Викторовна

6. Средние индексы В зависимости от методологии расчета индивидуальных и сводных индексов различают средние арифметические и средние гармонические индексы. Другими словами, общий индекс, построенный на базе индивидуального индекса, принимает форму среднего

Из книги Финансовая статистика автора Шерстнева Галина Сергеевна

39. Понятие об индексах. Индивидуальные индексы Индекс (Index) означает указатель, показатель.В статистике индекс – это относительная величина, характеризующая изменения во времени и в пространстве уровня изучаемого общественного явления (процесса), или степень выполнения

Из книги Общая теория статистики автора Щербина Лидия Владимировна

49. Биржевые индексы Биржевые индексы – это ключевые показатели, используемые для оценки, исследования и прогнозирования общего положения в фондовой торговле и в отдельных отраслях.Исчисление биржевых индексов можно производить по разной методике.Одни индексы

Из книги Макроэкономика: конспект лекций автора Тюрина Анна

40. Средние индексы В зависимости от методологии расчета индивиду–альных и сводных индексов различают средние ариф–метические и средние гармонические индексы. Други–ми словами, общий индекс, построенный на базе индивидуального индекса, принимает форму среднего

Из книги Игра на бирже автора Дараган Владимир Александрович

4. Индексы и уровни цен Для начала определим, что ВВП может иметь две формы: номинальную и реальную. Номинальный ВВП соответственно рассчитывается посредством учета текущего уровня цен, а реальный – в базисных ценах, что позволяет оценить изменения в объеме

Из книги Быстрые деньги в Интернете автора Парабеллум Андрей Алексеевич

Из книги «Упрощенка» с нуля. Налоговый самоучитель автора Гартвич Андрей Витальевич

Индивидуальные консультации Продажа своего консалтинга Продажа своего консалтинга – это один из самых доходных способов заработка. Когда у человека есть проблема, он готов отдать приличную сумму денег за то, чтобы ее решили.Вы, благодаря своему профессионализму,

Из книги Практика управления человеческими ресурсами автора Армстронг Майкл

Индивидуальные предприниматели Для большинства видов деятельности физическому лицу следует зарегистрироваться в качестве индивидуального предпринимателя.Синонимом термина индивидуальный предприниматель, применяемого в законодательстве, является физическое лицо,

Из книги Реклама. Принципы и практика автора Уэллс Уильям

ИНДИВИДУАЛЬНЫЕ РАЗЛИЧИЯ Управлять людьми было бы гораздо проще, если бы все были одинаковы, но люди, безусловно, отличаются друг от друга по своим способностям, интеллекту, личным качествам, связям, подготовке и культуре (что зависит от окружения, в котором они выросли).

Из книги Управление отделом продаж автора Петров Константин Николаевич

ИНДИВИДУАЛЬНЫЕ КАТЕГОРИИ РАБОТЫ Индивидуальные категории работы являются, по сути дела, системой индивидуального назначения зарплаты на месте, для которой был принят определенный интервал оплаты, скажем, 20% в обе стороны от ставки, чтобы обеспечить возможность роста

Из книги автора

ИНДИВИДУАЛЬНЫЕ ПЕРЕСМОТРЫ Индивидуальные пересмотры зарплаты определяют повышение зависимой оплаты или премии. В 2004 г. среди респондентов опроса CIPD 2003 г. относительно управления показателями работы (Армстронг и Барон, 2004) был проведен электронный опрос относительно

Из книги автора

Индивидуальные характеристики планировщика Какие качества необходимы для того, чтобы стать хорошим планировщиком коммуникаций? Очевидно, что хороший планировщик должен обладать стратегическим мышлением и иметь большой опыт проведения исследований, но некоторые

Из книги автора

Командные и индивидуальные стимулы При формировании сбытовых, или комплексных, команд для привлечения новых и обслуживания крупных клиентов компании также необходимо рассмотреть вопросы размера и распределения материального вознаграждения между членами команды.

Одним из важнейших путей достижения высокой производительности SQL Server является использование индексов. Индекс ускоряет процесс запроса, предоставляя быстрый доступ к строкам данных в таблице, аналогично тому, как указатель в книге помогает вам быстро найти необходимую информацию. В этой статье я приведу краткий обзор индексов в SQL Server и объясню как они организованы в базе данных и как они помогают ускорению выполнения запросов к базе данных.

Индексы создаются для столбцов таблиц и представлений. Индексы предоставляют путь для быстрого поиска данных на основе значений в этих столбцах. Например, если вы создадите индекс по первичному ключу, а затем будете искать строку с данными, используя значения первичного ключа, то SQL Server сначала найдет значение индекса, а затем использует индекс для быстрого нахождения всей строки с данными. Без индекса будет выполнен полный просмотр (сканирование) всех строк таблицы, что может оказать значительное влияние на производительность.
Вы можете создать индекс на большинстве столбцов таблицы или представления. Исключением, преимущественно, являются столбцы с типами данных для хранения больших объектов (LOB ), таких как image , text или varchar(max) . Вы также можете создать индексы на столбцах, предназначенных для хранения данных в формате XML , но эти индексы устроены немного иначе, чем стандартные и их рассмотрение выходит за рамки данной статьи. Также в статье не рассматриваются columnstore индексы. Вместо этого я фокусируюсь на тех индексах, которые наиболее часто применяются в базах данных SQL Server .
Индекс состоит из набора страниц, узлов индекса, которые организованы в виде древовидной структуры - сбалансированного дерева . Эта структура является иерархической по своей природе и начинается с корневого узла на вершине иерархии и конечных узлов, листьев, в нижней части, как показано на рисунке:


Когда вы формируете запрос на индексированный столбец, подсистема запросов начинает идти сверху от корневого узла и постепенно двигается вниз через промежуточные узлы, при этом каждый слой промежуточного уровня содержит более детальную информацию о данных. Подсистема запросов продолжает двигаться по узлам индекса до тех пор, пока не достигнет нижнего уровня с листьями индекса. К примеру, если вы ищете значение 123 в индексированном столбе, то подсистема запросов сначала на корневом уровне определит страницу на первом промежуточном (intermediate) уровне. В данном случае первой страница указывает на значение от 1 до 100, а вторая от 101 до 200, таким образом подсистема запросов обратится ко второй странице этого промежуточного уровня. Далее будет выяснено, что следует обратиться к третьей странице следующего промежуточного уровня. Отсюда подсистема запросов прочитает на нижнем уровне значение самого индекса. Листья индекса могут содержать как сами данные таблицы, так и просто указатель на строки с данными в таблице, в зависимости от типа индекса: кластеризованный индекс или некластеризованный.

Кластеризованный индекс
Кластеризованный индекс хранит реальные строки данных в листьях индекса. Возвращаясь к предыдущему примеру, это означает что строка данных, связанная со значение ключа, равного 123 будет храниться в самом индексе. Важной характеристикой кластеризованного индекса является то, что все значения отсортированы в определенном порядке либо возрастания, либо убывания. Таким образом, таблица или представление может иметь только один кластеризованный индекс. В дополнение следует отметить, что данные в таблице хранятся в отсортированном виде только в случае если создан кластеризованный индекс у этой таблицы.
Таблица не имеющая кластеризованного индекса называется кучей.
Некластеризованный индекс
В отличие от кластеризованного индекса, листья некластеризованного индекса содержат только те столбцы (ключевые ), по которым определен данный индекс, а также содержит указатель на строки с реальными данными в таблице. Это означает, что системе подзапросов необходима дополнительная операция для обнаружения и получения требуемых данных. Содержание указателя на данные зависит от способа хранения данных: кластеризованная таблица или куча. Если указатель ссылается на кластеризованную таблицу, то он ведет к кластеризованному индексу, используя который можно найти реальные данные. Если указатель ссылается на кучу, то он ведет к конкретному идентификатору строки с данными. Некластеризованные индексы не могут быть отсортированы в отличие от кластеризованных, однако вы можете создать более одного некластеризованного индекса на таблице или представлении, вплоть до 999. Это не означает, что вы должны создавать как можно больше индексов. Индексы могут как улучшить, так и ухудшить производительность системы. В дополнение к возможности создать несколько некластеризованных индексов, вы можете также включить дополнительные столбцы (included column ) в свой индекс: на листьях индекса будет храниться не только значение самих индексированных столбцов, но и значения этих не индексированных дополнительных столбцов. Этот подход позволит вам обойти некоторые ограничения, наложенные на индекс. К примеру, вы можете включить неидексируемый столбец или обойти ограничение на длину индекса (900 байт в большинстве случаев).

Типы индексов

В дополнение к тому, что индекс может быть либо кластеризованным, либо некластеризованным, возможно его дополнительно сконфигурировать как составной индекс, уникальный индекс или покрывающий индекс.
Составной индекс
Такой индекс может содержать более одного столбца. Вы можете включить до 16 столбцов в индекс, но их общая длина ограничена 900 байтами. Как кластеризованный, так и некластеризованный индексы могут быть составными.
Уникальный индекс
Такой индекс обеспечивает уникальность каждого значения в индексируемом столбце. Если индекс составной, то уникальность распространяется на все столбцы индекса, но не на каждый отдельный столбец. К примеру, если вы создадите уникальных индекс на столбцах ИМЯ и ФАМИЛИЯ , то полное имя должно быть уникально, но отдельно возможны дубли в имени или фамилии.
Уникальный индекс автоматически создается когда вы определяете ограничения столбца: первичный ключ или ограничение на уникальность значений:
  • Первичный ключ
    Когда вы определяете ограничение первичного ключа на один или несколько столбцов, тогда SQL Server автоматически создаёт уникальный кластеризованный индекс, если кластеризованный индекс не был создан ранее (в этом случае создается уникальный некластеризованный индекс по первичному ключу)
  • Уникальность значений
    Когда вы определяете ограничение на уникальность значений, тогда SQL Server автоматически создает уникальный некластеризованный индекс. Вы можете указать, чтобы был создан уникальный кластеризованный индекс, если кластеризованного индекса до сих пор не было создано на таблице
Покрывающий индекс
Такой индекс позволяет конкретному запросу сразу получить все необходимые данные с листьев индекса без дополнительных обращений к записям самой таблицы.

Проектирование индексов

Насколько полезны индексы могут быть, настолько аккуратно они должны быть спроектированы. Поскольку индексы могут занимать значительное дисковое пространство, вы не захотите создавать индексов больше, чем необходимо. В дополнение, индексы автоматически обновляются когда сама строка с данными обновляется, что может привести к дополнительным накладным расходам ресурсов и падению производительности. При проектирование индексов должно приниматься во внимание несколько соображений относительно базы данных и запросов к ней.
База данных
Как было отмечено ранее индексы могут улучить производительность системы, т.к. они обеспечивают подсистему запросов быстрым путем для нахождения данных. Однако, вы должны также принять во внимание то, как часто вы собираетесь вставлять, обновлять или удалять данные. Когда вы изменяете данные, то индексы должны также быть изменены, чтобы отразить соответствующие действия над данными, что может значительно снизить производительность системы. Рассмотрим следующие рекомендации при планировании стратегии индексирования:
  • Для таблиц которые часто обновляются используйте как можно меньше индексов.
  • Если таблица содержит большое количество данных, но их изменения незначительны, тогда используйте столько индексов, сколько необходимо для улучшение производительности ваших запросов. Однако хорошо подумайте перед использованием индексов на небольших таблицах, т.к. возможно использование поиска по индексу может занять больше времени, нежели простое сканирование всех строк.
  • Для кластеризованных индексов старайтесь использовать настолько короткие поля насколько это возможно. Наилучшим образом будет применение кластеризованного индекса на столбцах с уникальными значениями и не позволяющими использовать NULL. Вот почему первичный ключ часто используется как кластеризованный индекс.
  • Уникальность значений в столбце влияет на производительность индекса. В общем случае, чем больше у вас дубликатов в столбце, тем хуже работает индекс. С другой стороны, чем больше уникальных значения, тем выше работоспособность индекса. Когда возможно используйте уникальный индекс.
  • Для составного индекса возьмите во внимание порядок столбцов в индексе. Столбцы, которые используются в выражениях WHERE (к примеру, WHERE FirstName = "Charlie" ) должны быть в индексе первыми. Последующие столбцы должны быть перечислены с учетом уникальности их значений (столбцы с самым высоким количеством уникальных значений идут первыми).
  • Также можно указать индекс на вычисляемых столбцах, если они соответствуют некоторым требованиям. К примеру, выражение которые используются для получения значения столбца, должны быть детерминистическими (всегда возвращать один и тот же результат для заданного набора входных параметров).
Запросы к базе данных
Другое соображение которое следует учитывать при проектировании индексов это какие запросы выполняются к базе данных. Как было указано ранее, вы должны учитывать как часто изменяются данные. Дополнительно следует использовать следующие принципы:
  • Старайтесь вставлять или модифицировать в одном запросе как можно больше строк, а не делать это в несколько одиночных запросов.
  • Создайте некластеризованный индекс на столбцах которые часто используются в ваших запросах в качестве условий поиска в WHERE и соединения в JOIN .
  • Рассмотрите возможность индексирования столбцов, использующихся в запросах поиска строк на точное соответствие значений.

А теперь, собственно:

14 вопросов об индексах в SQL Server, которые вы стеснялись задать

Почему таблица не может иметь два кластеризованных индекса?

Хотите короткий ответ? Кластеризованный индекс – это и есть таблица. Когда вы создаете кластеризованный индекс у таблицы, подсистема хранения данных сортирует все строки в таблице в порядке возрастания или убывания, согласно определению индекса. Кластеризованный индекс это не отдельная сущность как другие индексы, а механизм сортировки данных в таблице и облегчения быстрого доступа к строкам с данными.
Представим, что у вас есть таблица, содержащая историю операций по продажам. Таблица Sales включает в себя такую информация как идентификатор заказа, позицию товара в заказе, номер товара, количество товара, номер и дату заказа и т.д. Вы создаёте кластеризованный индекс по столбцам OrderID и LineID , с сортировкой в порядке возрастания, как показано в следующем T-SQL коде:
CREATE UNIQUE CLUSTERED INDEX ix_oriderid_lineid ON dbo.Sales(OrderID, LineID);
Когда вы запустите этот скрипт все строки в таблице будут физически отсортированы сначала по столбцу OrderID, а затем по LineID, но сами данные останутся в единственном логическом блоке, в таблице. По этой причине вы не можете создать два кластеризованных индекса. Может быть только одна таблица с одними данными и эта таблица может быть отсортирована только один раз в определенном порядке.

Если кластеризованная таблица даёт множество преимуществ, то зачем использовать кучу?

Вы правы. Кластеризованые таблицы отличны и большинство ваших запросов будут лучше выполнятся к таблицам, имеющим кластеризованный индекс. Но в некоторых случаях вы возможно захотите оставить таблицы в их естественном первозданном состоянии, т.е. в виде кучи, и создать лишь некластеризованные индексы для поддержания работоспособности ваших запросов.
Куча, как вы помните, хранит данные в случайном порядке. Обычно подсистема хранения данных добавляет в таблицу данные в той последовательности в которой они вставляются, однако подсистема также любит перемещать строки с целью более эффективного хранения. В результате у вас нет ни единого шанса предсказать в каком порядке будут храниться данные.
Если подсистема запросов должна найти данные без преимуществ некластеризованного индекса, то она сделает полное сканирование таблицы для нахождения нужных ей строк. На очень маленьких таблицах это обычно не проблема, но как только куча растет в своих размерах производительность быстро падает. Конечно, некластеризованный индекс может помочь, используя указатель на файл, страницу и строку где хранятся необходимые данные – обычно это намного лучшая альтернатива сканированию таблицы. Но даже в этом случае трудно сравнивать с преимуществами кластеризованного индекса при рассмотрении производительности запросов.
Однако куча может помочь улучшить производительность в определенных ситуациях. Рассмотрим таблицу с большим количеством вставок, но редкими обновлениями или удалением данных. К примеру, таблица, хранящая лог, преимущественно используется для вставки значений до тех пор пока не будет архивирована. В куче вы не увидите разбиением страниц и фрагментацию данных, как это случается с кластеризованным индексом, потому что строки просто добавляются в конец кучи. Слишком большое разделение страниц может иметь значительное влияние на производительность и в не самом хорошем смысле. В общем, куча позволяет производить вставку данных относительно безболезненно и вам не надо будет бороться с накладными расходами на хранение и обслуживание, как это бывает в случае кластеризованного индекса.
Но отсутствие обновления и удаления данных не должны рассматриваться как единственная причина. Способ выборки данных также является важным фактором. К примеру, вы не должны использовать кучу, если часто выполняете запросы диапазонов данных или запрашиваемые данные часто должны быть сортированы или сгруппированы.
Всё это означает, что вы должны рассматривать возможность использования кучи только когда работаете с особо-маленькими таблицами или всё ваше взаимодействие с таблицей ограничено вставкой данных и ваши запросы чрезвычайно просты (и вы все-равно используете некластеризованные индексы). В противном случае держитесь хорошо спроектированного кластеризованного индекса, к примеру определенного на простом возрастающем ключевом поле, как широко применяемый столбец с IDENTITY .

Как изменить установленное по умолчанию значение коэффициента заполнения индекса?

Изменение установленного по умолчанию коэффициента заполнения индекса это одно дело. Понимание того как установленный по умолчанию коэффициент работает это другое. Но сначала пару шагов назад. Коэффициент заполнения индекса определяет количество пространства на странице для хранения индекса на нижнем уровне (уровень листьев) перед тем как начать заполнять новую страницу. К примеру, если коэффициент выставлен в значение 90, то при росте индекс займет на странице 90%, а затем перейдет на следующую страницу.
По умолчанию, значение коэффициента заполнения индекса в SQL Server равно 0, что равнозначно значению 100. В результате все новые индексы автоматически наследуют эту настройки, если вы специально в коде не укажете отличное от стандартного для системы значения или измените поведение по умолчанию. Вы можете воспользоваться SQL Server Management Studio для корректировки установленного по умолчанию значения или запустить системную сохраненную процедуру sp_configure . К примеру, следующий набор T-SQL команд устанавливает значение коэффициента равное 90 (предварительно необходимо переключится в режим продвинутых настроек):
EXEC sp_configure "show advanced options", 1; GO RECONFIGURE; GO EXEC sp_configure "fill factor", 90; GO RECONFIGURE; GO
После изменения значения коэффициента заполнения индекса необходимо перезагрузить сервис SQL Server . Теперь вы можете проверить установленное значение, запустив процедуру sp_configure без указанного второго аргумента:
EXEC sp_configure "fill factor" GO
Данная команда должна вернуть значение равное 90. В результате все вновь создаваемые индексы будут использовать это значение. Вы можете проверить это, создав индекс и запросить значение коэффициента заполнения:
USE AdventureWorks2012; -- ваша база данных GO CREATE NONCLUSTERED INDEX ix_people_lastname ON Person.Person(LastName); GO SELECT fill_factor FROM sys.indexes WHERE object_id = object_id("Person.Person") AND name="ix_people_lastname";
В данном примере мы создали некластеризованный индекс в таблице Person в базе данных AdventureWorks2012 . После создания индекса мы можем получить значение коэффициента заполнения из системной таблиц sys.indexes. Запрос должен вернуть 90.
Однако, представим, что мы удалили индекс и снова создали его, но теперь указали конкретное значение коэффициента заполнения:
CREATE NONCLUSTERED INDEX ix_people_lastname ON Person.Person(LastName) WITH (fillfactor=80); GO SELECT fill_factor FROM sys.indexes WHERE object_id = object_id("Person.Person") AND name="ix_people_lastname";
В этот раз мы добавили инструкцию WITH и опцию fillfactor для нашей операции создания индекса CREATE INDEX и указали значение 80. Оператор SELECT теперь возвращает соответствующее значение.
До сих пор всё было довольно-таки прямолинейно. Где вы реально можете погореть во всём этом процессе, так это когда вы создаёте индекс, использующий значение коэффициента по умолчанию, подразумевая, что вы знаете это значение. К примеру, кто-то неумело ковыряется в настройках сервера и он настолько упорот, что ставит значение коэффициента заполнения индекса равное 20. Тем временем вы продолжаете создавать индексы, предполагая значение по умолчанию равное 0. К сожалению, у вас нет способа узнать значение коэффициента до тех пор как вы не создадите индекс, а затем проверите значение, как мы делали в наших примерах. В противном случае, вам придётся ждать момента когда производительность запросов настолько упадёт, что вы начнёте что-то подозревать.
Другая проблема о которой вам стоит помнить это перестроение индексов. Как и при создании индекса вы можете конкретизировать значение коэффициента заполнения индекса, когда его перестраиваете. Однако, в отличие от команды создания индекса, перестройка не использует серверные настройки по умолчанию, несмотря на то что так может показаться. Даже больше, если вы конкретно не укажете значение коэффициента заполнения индекса, то SQL Server будет использовать то значение коэффициента, с которым этот индекс существовал до его перестройки. К примеру, следующая операция ALTER INDEX перестраивает только что созданный нами индекс:
ALTER INDEX ix_people_lastname ON Person.Person REBUILD; GO SELECT fill_factor FROM sys.indexes WHERE object_id = object_id("Person.Person") AND name="ix_people_lastname";
Когда мы проверим значение коэффициента заполнения мы получим значение равное 80, потому что именно его мы указали при последнем создании индекса. Значение по умолчанию не учитывается.
Как вы видите изменить значение коэффициента заполнения индекса не такое уж сложно дело. Намного сложнее знать текущее значение и понимать когда оно применяется. Если вы всегда конкретно указывается коэффициент при создании и перестройки индексов, то вы всегда знаете конкретный результат. Разве что вам приходится заботиться о том, чтобы кто-то другой снова не напортачил в настройках сервера, вызвав перестройку всех индексов со смехотворно низким значением коэффициента заполнения индекса.

Можно ли создать кластеризованный индекс на столбце, содержащем дубликаты?

И да, и нет. Да вы можете создать кластеризованный индекс на ключевом столбце, содержащем дубликаты значений. Нет, значение ключевого столбца не смогут остаться в состоянии не уникальности. Позвольте объяснить. Если вы создаёте неуникальный кластерный индекс (non-unique clustered index) на столбце, то подсистема хранения данных добавляет к дублирующему значению целочисленное значение (uniquifier), чтобы удостовериться в уникальности и, соответственно, обеспечить возможность идентифицировать каждую строку в кластеризованной таблице.
К примеру, вы можете решить создать в таблице с данными о клиентах кластеризованный индекс по столбцу LastName , хранящим фамилию. Столбец содержит такие значения как Franklin, Hancock, Washington и Smith. Затем вы вставляете значения Adams, Hancock, Smith и снова Smith. Но значение ключевого столбца обязательно должны быть уникальны, поэтому подсистема хранения данных изменит значение дубликатов таким образом, что они будут выглядеть примерно так: Adams, Franklin, Hancock, Hancock1234, Washington, Smith, Smith4567 и Smith5678.
На первый взгляд такой подход кажется нормальным, но целочисленное значение увеличивает размер ключа, что может стать проблемой при большом количестве дубликатов, а эти значения станут основой некластеризованного индекса или ссылкой внешнего ключа. По этим причинам вы всегда должны стараться создавать уникальный кластеризованный (unique clustered indexes) при любой возможности. Если это невозможно, то по крайней мере постарайтесь использовать столбцы с очень высоким содержание уникальных значений.

Как хранится таблица, если не был создан кластеризованный индекс?

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

Какая взаимосвязь между ограничениями на уникальность значения и первичным ключом с индексами таблицы?

Первичный ключ и и ограничение уникальности обеспечивают, что значения в столбце будут уникальны. Вы можете создать только один первичный ключ у таблицы и он не может содержать значения NULL . Вы можете создать у таблицы несколько ограничений на уникальность значения и каждый из них может иметь единственную запись с NULL .
Когда вы создаете первичный ключ, подсистема хранения данных так же создает уникальный кластеризованный индекс, в случае если уже кластеризованный индекс не был создан. Однако, вы можете переопределить установленное по умолчанию поведение и тогда будет создан некластеризованный индекс. Если кластеризованный индекс существует когда вы создаёте первичный ключ, то будет создан уникальный некластеризованный индекс.
Когда вы создаете ограничение на уникальность, подсистема хранения данных создает уникальный некластеризованный индекс. Но вы можете указать создание уникального кластеризованного индекса, если он не был создан ранее.
В общем случае, ограничение на уникальность значение и уникальный индекс это одно и то же.

Почему в SQL Server кластеризованные и некластеризованные индексы называются сбалансированным деревом?

Базовые индексы в SQL Server, кластеризованные или некластеризованные, распространяются по наборам страниц – узлам индекса. Эти страницы организованы в виде определенной иерархии с древовидной структурой, называемой сбалансированным деревом. На верхнем уровне находится корневой узел, на нижнем, конечные узлы листьев, с промежуточными узлами между верхним и нижним уровнями, как показано на рисунке:


Корневой узел предоставляет главную точку входа для запросов, пытающихся получить данные через индекс. Начиная с этого узла, подсистема запросов инициирует переход по иерархической структуре вниз к подходящему конечному узлу, содержащему данные.
К примеру, представим, что поступил запрос на выборку строк, содержащих значение ключа равное 82. Подсистема запросов начинает работу с корневого узла, который отсылает к подходящему промежуточному узлу, в нашем случае 1-100. От промежуточного узла 1-100 происходит переход к узлу 51-100, а оттуда к конечному узлу 76-100. Если это кластеризованный индекс, то на листе узла содержится данные строки, ассоциированной с ключом равным 82. Если же это некластеризованный индекс, то лист индекса содержит указатель на кластеризованную таблицу или конкретную строку в куче.

Как вообще индекс может улучшить производительность запросов, если приходится переходить по всем этим индексным узлам?

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

Если индексы настолько замечательны, то почему бы просто не создать их на каждый столбец?

Ни одно доброе дело не должно оставаться безнаказанным. По крайней мере, именно так и обстоит дело с индексами. Разумеется, индексы отлично себя показывают, пока вы выполняете запросы на выборку данных оператором SELECT , но как только начинается частый вызов операторов INSERT , UPDATE и DELETE , так пейзаж очень быстро меняется.
Когда вы инициируется запрос данных оператором SELECT , подсистема запросов находит индекс, продвигается по его древовидной структуре и обнаруживает искомые данные. Что может быть проще? Но все меняется, если вы инициируете оператор изменения, такой как UPDATE . Да, для первой части оператора подсистема запросов может снова использовать индекс для обнаружения модифицируемой строки – это хорошие новости. И если происходит простое изменение данных в строке, не затрагивающее изменение ключевых столбцов, то процесс изменения пройдет вполне безболезненно. Но что, если изменение приведет к разделению страниц, содержащих данные, или будет изменено значение ключевого столбца, приводящее к переносу его в другой индексный узел – это приведёт к тому, что индексу может потребоваться реорганизация, затрагивающая все связанные индексы и операции, в результате будет повсеместное падение производительности.
Аналогичные процессы происходят при вызове оператора DELETE . Индекс может помочь найти месторасположение удаляемых данных, но само по себе удаление данных может привести к перестановке страниц. Касаемо оператора INSERT , главного врага всех индексов: вы начинаете добавлять большое количество данных, что приводит к изменению индексов и их реорганизации и все страдают.
Так что учитывайте виды запросов к вашей базе данных при размышлениях какой тип индексов и в каком количестве стоит создавать. Больше не значит лучше. Перед тем как добавить новый индекс на таблицу просчитайте стоимость не только базовых запросов, но и объем занимаемого дискового пространства, стоимость поддержания работоспособности и индексов, что может привести к эффекту домино для других операций. Ваша стратегия проектирования индексов один из важнейших аспектов внедрения и должна включать в рассмотрение множество соображений: от размера индекса, количества уникальных значений, до типа поддерживаемых индексом запросов.

Обязательно ли создавать кластеризованный индекс на столбце с первичным ключом?

Вы можете создать кластеризованный индекс на любой столбце, соответствующем необходимым условиям. Это верно, что кластеризованный индекс и ограничение первичного ключа созданы друг для друга и их брак заключен на небесах, так что усвойте факт, что когда вы создаете первичный ключ, тогда же будет автоматически создан кластеризованный индекс, если он не был создан ранее. Тем не менее, вы можете решить, что кластеризованный индекс будет лучше работать в другом месте, и часто ваше решение будет вполне оправданным.
Главная цель кластеризованного индекса это сортировка всех строк к вашей таблице на основе ключевого столбца, указанного при определении индекса. Это обеспечивает быстрый поиск и легкий доступ к данным таблицы.
Первичный ключ таблицы может быть хорошим выбором, потому что он однозначно идентифицирует каждую строку в таблицы без необходимости добавлять дополнительные данные. В некоторых случаях лучшим выбором будет суррогатный первичный ключ, обладающий не только признаком уникальности, но и малым размером, а значения которого увеличиваются последовательно, что делает некластеризованные индексы, основанные на этом значении более эффективными. Оптимизатор запросов также любит такое сочетание кластеризованого индекса и первичного ключа, потому что соединение таблиц происходит быстрее, чем при соединении другим способом, не использующим первичный ключ и ассоциированный с ним кластеризованный индекс. Как я и говорил это брак, заключенный на небесах.
В конце стоит, однако, отметить, что при создании кластеризованного индекса необходимо принять во внимание несколько аспектов: как много некластеризованных индексов будет основываться на нём, как часто будут изменяться значение ключевого столбца индекса и на сколько ни большие. Когда значение в столбцах кластеризованого индекса изменятся или индекс не будет обеспечивать должной производительности, тогда все другие индексы таблицы могут быть задеты. Кластеризованный индекс должен быть основан на наиболее устойчивом столбце, значения которого увеличиваются в определенном порядке, но не изменяются в случайном. Индекс должен поддерживать запросы к наиболее часто используемым данным таблицы, таким образом запросы получают все преимущества того, что данные сортированы и доступны на корневых узлах, листьях индекса. Если первичный ключ соответствует этому сценарию, то используйте его. Если же нет, то выберите другой набор столбцов.

А что если проиндексировать представление, то это по-прежнему будет представление?

Представление – это виртуальная таблица, формирующая данные из одной или нескольких таблиц. По сути, это именованный запрос, который получает данные из нижележащих таблиц, когда вы вызываете запрос к этому представлению. Вы можете улучшить производительность запросов, создав кластеризованных индекс и некластеризованные индексы у этого представления, аналогично как вы создаете индексы у таблицы, но основной нюанс состоит в том, что первоначально создается кластеризованный индекс, а затем вы можете создать некластеризованный.
Когда создается индексированное представление (материализованное представление), тогда само определение представления остается отдельной сущностью. Это, в конце концов, всего лишь жестко прописанный оператор SELECT , хранящийся в базе данных. А вот индекс совсем другая история. Когда вы создаете кластеризованный или некластеризованный индекс у предастваления, то данные физически сохраняются на диск, аналогично обычному индексу. В дополнение, когда в нижележащих таблицах изменяются данные, то индекс представления автоматически изменяется (это означает, что вы можете захотеть избежать индексирования представлений тех таблиц, в которых происходят частые изменения). В любом случае, представление остается представлением - взглядом на таблицы, но именно выполненном в данный момент, с индексами ему соответствующими.
Перед тем как вы сможете создать индекс у представления, оно должно соответствовать нескольким ограничениям. К примеру, представление может ссылаться только на базовые таблицы, но не другие представления и эти таблицы должны находиться в той же самой базе данных. На самом деле там множество других ограничений, так что не забудьте обратиться к документации по SQL Server за всеми грязными подробностями.

Зачем использовать покрывающий индекс взамен составного индекса?

Во-первых, давайте убедимся, что мы понимаем различие между ними. Составной индекс это просто обычный индекс, в который включено больше одного столбца. Несколько ключевых столбцов может использоваться для обеспечения уникальности каждой строки таблицы, также возможен вариант, когда первичный ключ состоит из нескольких столбцов, обеспечивающих его уникальность, или вы пытаетесь оптимизировать выполнение часто вызываемых запросов к нескольким столбцам. В общем, однако, чем больше ключевых столбцов содержит индекс, тем менее эффективна работа этого индекса, а значит составные индексы стоит использовать разумно.
Как было сказано, запрос может извлечь огромную выгоду, если все необходимые данные сразу расположены на листьях индекса, как и сам индекс. Это не проблема для кластеризованного индекса, т.к. все данные уже там (вот почему так важно хорошенько подумать когда вы создаете кластеризованный индекс). Но некластеризованный индекс на листьях содержит только ключевые столбцы. Для доступа ко всем остальным данным оптимизатору запросов необходимы дополнительные шаги, что может вызвать значительные дополнительные накладные расходы для выполнения ваших запросов.
Вот где покрывающий индекс спешит на помощь. Когда вы определяете некластеризованный индекс, то можете указать дополнительные столбцы к вашим ключевым. К примеру, представим, что ваше приложение часто запрашивает данные столбцов OrderID и OrderDate в таблице Sales :
SELECT OrderID, OrderDate FROM Sales WHERE OrderID = 12345;
Вы можете создать составной некластеризованный индекс на обоих столбцах, но столбец OrderDate только добавит накладных расходов на обслуживание индекса, но так и не сможет служить особо полезным ключевым столбцом. Лучшее решение будет это создание покрывающего индекса с ключевым столбцом OrderID и дополнительно включенным столбцом OrderDate :
CREATE NONCLUSTERED INDEX ix_orderid ON dbo.Sales(OrderID) INCLUDE (OrderDate);
При этом вы избегаете недостатков, возникающих при индексации излишних столбцов, в то же время сохраняете преимущества хранения данных на листьях при выполнении запросов. Включенный столбец не является частью ключа, но данные хранятся именно на конечном узле, листе индекса. Это может улучшить производительность выполнения запроса без каких либо дополнительных расходов. К тому же, на столбцы, включенные в покрывающий индекс, накладывается меньше ограничений, нежели на ключевые столбцы индекса.

Имеет ли значение количество дубликатов в ключевом столбце?

Когда вы создаете индекс, вы обязаны постараться уменьшить количество дубликатов в ваших ключевых столбцах. Или более точно: стараться держать коэффициент повторяющихся значений настолько низким, насколько это возможно.
Если вы работаете с составным индексом, то дублирование относится ко всем ключевым столбцам в целом. Отдельный столбец может содержать множество повторяющихся значений, но повторения среди всех столбцов индекса должно быть минимальным. К примеру, вы создаете составной некластеризованный индекс на столбцах FirstName и LastName , вы можете иметь множество значений равных John и множество Doe, но вы хотите иметь как можно меньше значений John Doe, или лучше только одно значение John Doe.
Коэффициент уникальности значений ключевого столбца называется избирательностью индекса. Чем больше уникальных значений, тем выше избирательность: уникальный индекс обладает наибольшей возможной избирательностью. Подсистема запросов очень любит столбцы с высоким значением избирательности, особенно если эти столбцы участвуют в условиях выборки WHERE ваших наиболее часто выполняемых запросов. Чем выше избирательность индекса, тем быстрее подсистема запросов может уменьшить размер результирующего набора данных. Обратной стороной, разумеется, является то, что столбцы с относительно небольшим количеством уникальных значений редко будут хорошими кандидатами на индексирование.

Можно ли создать некластеризованный индекс только для определенного подмножества данных ключевого столбца?

По умолчанию, некластеризованный индекс содержит по одной строке для каждой строки таблицы. Конечно, вы можете сказать то же самое относительно кластеризованного индекса, принимая в расчет, что такой индекс это и есть таблица. Но что касается некластеризованного индекса, то отношение «один к одному» важный концепт, потому что, начиная с версии SQL Server 2008 , у вас есть возможность создать фильтруемый индекс, который ограничивает включенные в него строки. Фильтруемый индекс может улучшить производительность выполнения запросов, т.к. он меньше по размеру и содержит отфильтрованную, более аккуратную, статистику, чем вся табличная - это приводит к созданию улучшенных планов выполнения. Фильтруемый индекс также требует меньше места для хранения и меньших затрат на обслуживание. Индекс обновляется только когда изменяются подходящие под фильтр данные.
В дополнение, фильтруемый индекс легко создать. В операторе CREATE INDEX просто необходимо указать в WHERE условие фильтрации. К примеру, вы можете отфильтровать из индекса все строки, содержащие NULL, как показано в коде:
CREATE NONCLUSTERED INDEX ix_trackingnumber ON Sales.SalesOrderDetail(CarrierTrackingNumber) WHERE CarrierTrackingNumber IS NOT NULL;
Мы можем, фактически, отфильтровать любые данные, которые не важны в критических запросах. Но будьте внимательны, т.к. SQL Server накладывает несколько ограничений на фильтруемые индексы, такие, как невозможность создать фильтруемый индекс у представления, так что внимательно читайте документацию.
Также, может случиться, что вы можно достичь подобных результатов созданием индексированного представления. Однако, фильтруемый индекс имеет несколько преимуществ, таких как возможность уменьшить стоимость обслуживания и улучшить качество ваших планов выполнения. Фильтруемые индексы также допускают перестройку в онлайн-режиме. Попробуйте это сделать с индексируемым представлением.

И снова немного от переводчика

Целью появления данного перевода на страницах Хабрахабра было рассказать или напомнить вам о блоге SimpleTalk от RedGate .
В нём публикуется множество занимательных и интересных записей.
Я не связан ни с продуктами фирмы RedGate , ни с их продажей.

Как и обещал, книги для тех кто хочет знать больше
Порекомендую от себя три очень хорошие книги (ссылки ведут на kindle версии в магазине Amazon ):

В принципе, можно открыть простоиндексы Добавить метки
Microsoft SQL Server 2012 T-SQL Fundamentals (Developer Reference)
Author Itzik Ben-Gan
Publication Date: July 15, 2012
Автор, мастер своего дела, даёт базовые знания о работе с базами данных.
Если вы всё забыли или никогда не знали, то определенно стоит её прочитать

Показатели агротехники и метеорологических условий

Схема анализа массы прибыли по факторам.

Прибыль от реализации един продукц представляет собой разность между ценой реализации p и полной себестоимостью z . по всему объему реализац данного продукта масса прибыли

1 .Рассчитаем сумму выручки ∑p*q и сумму себестоимости ∑z*q как накопленные итоги произведений, массу прибыли в базис. и отчетном году и её прирост:

M0=∑p0*q0-∑z0*q0 M1=∑p1*q1-∑z1*q1

2 . Абсолютный прирост массы прибыли

∆M=M1-M0 Относительный прирост массы прибыли ∆M/M0*100%

3. Масса прибыли и ее прирост зависят от цен реализации, объема реализованной продукции ее себестоимости. Прирост прибыли под влиянием каждого из этих факторов определяется следующим образом:

3.1 . Изменение цены реализации:

∆Mp=∑p1*q1-∑p0*q1

3.2. Изменение полной себестоимости

∆Mz=∑z0*q1-∑z1*q1=

3.3. изменение объема реализованной продукции ∆Mp=∑(q1-q0)-∑(p0-z0) ∆Mp=(∑p0q1-∑p0q0)-(∑z0q1-∑z0q0)

4. Относительное изменение каждого из факторов оценивается при помощи индексов:

Ip=∑p1q1/∑p0q1

Iz=∑z1q1/∑z0q1

Iq=∑p0q1/∑p0q0

31. ВВП: содержание, способы оценки и методы расчета.

Наиболее общим показателем пр-ва про-дуктов и УСЛУГ по стране в целом в рын уел явл-ся ВВП, равный сумме ВДС всех отраслей по пр-ву товаров и услуг и сумме полученных государством налогов на продукты за вычетом субсидий. ВДС –это чистая продукция всех отраслей и госуд,включающая амортизацию.Достоинства ВВП-отсутствие повторного счета, ориентация на конечные результаты производства,сопоставимость для госуд с разл уровнем экономики. ВВП определяется 3 методами:

1) производственный - разность между выпуском товаров и услуг в целом по стране BB и общей суммой промежуточного потребления ПП или сумма ВДС по отраслям+ чистые налоги на продукты и импорт, 2) методом формирования ВВП по источникам - сумма доходов работников v, доходов предприятий, организаций, других резидентов и государства m с добавлением суммы амортизацииCam => ВВП= v+m+Cam, 3)по конечному использованию - суммирование всех фактических расходов на конечное потребление населения.

32. Показатели доходов (ЧДС, В. Доход, прибыль): содержание и способы расчета.

Стоимость валовой продукции – это сумма затрат на производство, пре-вышения выручки от реализации над её полной себестоимостью, дотаций и компенсаций из бюджета, сальдо прибы-ли (убытка) от внереализационных результатов. Валовой оборот – сумма валовой продукции взаимосвязанных отраслей.

1. ЧДС- это валовой оборот в текущих ценах за вычетом материальных затрат и амортизации. Экономическое содержание – вновь созданная стоимость в форме доходов физических лиц,субъектов хоз-вания и государства. Важнейшая часть доходов физ лиц-оплата труда наемных работников-сумма всех вознаграждений работников в денежной и натур форме за работу в отчетном периоде+отчисления на соцстрахование,налоги на доходы и др.выплаты.

2. Валовой доход – форма выражения реализованной предприятием чистой продукции. Его величина опреде-ляется двояко:

Как стоимость валовой продукции в текущих ценах за вычетом материальных затрат и суммы амортизации;

Как сумма расходов на оплату труда с отчислениями на предприятии и прибыли растениеводства и животноводства, других отраслей (включая дотации и компенсации).

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

3. Прибыль от реализации продукции определяется как разность между выручкой и полной себестоимостью продукции. Валовая прибыль- представляет собой ту часть добавленной стоимости, которая остается у производителей после вычета расходов на оплату труда наемн работников,а также чистых налогов на производство и импорт.

Показатели наличия, состава, движения и организационного строения предприятий.

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

В РФ с\х пр-ия делятся на след.категории:

1.С\х орг.-крупные и средние ком.орг.,созд. на базе колх,и совх,юр лица с товар.произв-ом,основанном на колл.труде.имеют внутр.орг. и отр.структуру,спец.сис.упр.,включая в себя внутрихоз.подразд.-сюда относятся малые с\х пр-ия чис-тью до 60 чел, а также подсобные с\х пр-ия других отраслей эк-ки.

2.Крест.хоз-ва-форма пред-ой дей-ти без обр-ия юрлица.Внутри КФХ сущ-ют 2 неразрыв. на практике группы:а)Крест.хоз-ва-исп.труда членов семьи для удовлет.потр.семьи в прод-ии и доходах. б)Ферм.х-ва-ориент.на про-во тов.прод.и получ.прибыли, исп.собств.и арендов.землю и ср-ва пр-ва, примен. на-емн.труд.

3.Хоз-ва нас-ия-включ.ЛПХ граж-н,служебные наделы,садовые, огород-ные,жив-ие,дачные, некоммер.объединения граждан,индивид. строит-во.

С 1999г. в ЕС с/х пр-ем счит.пр-ие с 2 и более га с\х земель.

Численностьть и состав :Чис-ть-это моментные уровни на начало года,месяца,квартала или на момент изучения при переписи.За год и др. периоды опр-ся абсол. пок-ли изм-я числ-ти по причинам.Пок-ли расчит. по стра-не,фед.округам,ЭР,субъектам фед,муниц.обр-ям в разрезе категорий.форм и групп пр-ий.

Клас-ия:по формам собств,прав. стату-су,сферам произ-ва,характеру доходов,спец-ии.интен-ии,по отнош-ию к рынку,по фор-мам кооперации,размерам произ-ва.В РФ клас-ют сх по:1.фомам соб-ти(госуд,муницип унитарные предпр,частные,со смешанной формой собствен.и с участиев иностр инвест);2.по орг-правов.формам(на правах хоз ведения, оперативного управлении, казенные,учебные и опыт хоз-ва, участки для сортоиспынания итд).К частным сх предприят относятся такие орган-правовые формы: хоз-нные товарищества(полные и на вере),акционерные общества(ЗАО и оао),хоз общества с огранич и дополнит ответственностью, производственные кооперанивы.

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

Коэффициены распределения, прямых и полных затрат.

Коэфф-ты рапсределения выпуска,харак использование ресурсов каждого продукта, услуги..Коэф прямых затрат аij=xij/xj Они показывают прямые затраты продукции i- той отрасли на единицу продукции -j. Однако прямых коэф-ов недостаточно, т.к. прирост продукции i на единицу отрасли j требуется не только для прямых затрат, но и косвенных, поэтому рассчитывают также коэф полных затрат, показывающие сколько ед. продукции i отрасли следует дополн. произвести для всех взаимо-ых отраслей, для увелич продукт i на единицу. Их называют также коэф полной потребности продукции

Точечная и интервальная оценка параметров генерального уравнения регрессии

Классификация нелинейных регрессий

Если между эк явлениями сущ нелинейные соотношения, то они выражаются с помощью соответствующих нелинейных функций: н-р, равносторонней параболы у= а+b/х +Е, параболы второй степени у=а+b*х+с*х 2 +Е

Различают два класса нелинейных регрессий: -регрессии, нелинейные относительно включенных в анализ объясняющих переменных, но линейные по оцениваемым параметрам. –регрессии, нелинейные по оцениваемым параметрам. Примером нелинейной регрессии по включенным в нее объясняющим переменным могут служить следующие функции: - полиномы разных степеней: у=а+b*х+с*х 2 +Е, у=а+b*х+с*х 2 +d*х 3 +Е, -равносторонняя гипербола у=а+b/х+Е. К нелинейным регрессиям по оцениваемым параметрам относятся функции: -степенная у=а*х b *Е, -показательная у=а*b х *Е, -экспоненциальная у=е а+ bx *Е

Взвешенный МНК

В случае диагональной весовой матрицы (а значит и ковариационной матрицы случайных ошибок) имеем так называемый взвешенный МНК (WLS - Weighted Least Squares). В данном случае минимизируется взвешенная сумма квадратов остатков модели, то есть каждое наблюдение получает "вес", обратно пропорциональный дисперсии случайной ошибки в данном наблюдении: . Фактически данные преобразуются взвешиванием наблюдений (делением на величину, пропорциональную предполагаемому стандартному отклонению случайных ошибок), а к взвешенным данным применяется обычный МНК.

65. Отбор факторов в модель регрессии. Пошаговые процедуры отбора .

1. Отбор факторов производится на основе качественного теоретико-экономического анализа, то есть включение в уравнение тех или иных факторов должно опираться на понимание природы взаимосвязи экономических переменных.

2. Факторы должны быть количественно измеримы.

3. Каждый из факторов не может быть частью другого

4. Число включаемых факторов должно быть как минимум в 6-7 раз меньше объема совокупности, по которой изучается регрессия

5. Каждый дополнительно включенный в уравнение регрессии фактор должен увеличивать множественный коэффициент детерминации, то есть доля объясненной вариации результативного признака за счет включенного фактора должна увеличиваться, а, соответственно, доля остаточной вариации должна уменьшаться.

6. Факторы, включенные в модель, должны быть независимы друг от друга. Если между самими факторами существует высокая корреляция, то нельзя определить их изолированное влияние на результат и параметры уравнения тогда невозможно интерпретировать.

Индексы: понятие, виды, решаемые задачи. Индексы колич и качеств показателей.

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

По степени охвата элементов явления индексы делят на индивидуальные и общие (сводные).

· Индивидуальные индексы (i) - это индексы, которые характеризуют изменение только одного элемента совокупности.

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

Способ построения агрегатных индексов заключается в том, что при помощи так называемых соизмерителей можно выразить итоговые величины сложной совокупности в отчетном и базисном периодах, а затем первую сопоставить со второй.

В статистике имеют большое значение индексы переменного и фиксированного состава, которые используются при анализе динамики средних показателей.

· Индексом переменного состава называют отношение двух средних уровней.

· Индекс фиксированного состава есть средний из индивидуальных индексов. Он рассчитывается как отношение двух стандартизованных средних, где влияние изменения структурного фактора устранено, поэтому данный индекс называют еще индексом постоянного состава.

В зависимости от содержания и характера индексируемой величины различают индексы количественных (объемных) показателей (индекс физического объема продукции) и индексы качественных показателей (индекс цен, себестоимости. Индексы количественных показателей характеризуют изменение численности совокупности, индексы качественных показателей – изменение признаков входящих в нее единиц. Необходимость в применении особых приемов построения индексов количественных показателей возникает, когда итоги по отдельным элементам сложного явления непосредственно несоизмеримы. Различные виды продукции неравноценны по количеству затраченного на них общественного труда и имеют разные потребительские стоимости. Для получения общего итога необходимо данные по различным видам продукции привести к единой, общей мере (например, исп стоимостную оценку ∑p i q i , где p-цена единицы отдельного вида продукции, q-количество единиц отдельных видов продукции). Такой переход называется соизмерением. При построении индексов объемных показателей в качестве соизмерителей применяют качественные показатели (цена, себестоимость, трудоемкость единицы изделия). Наряду с индексами физического объема продукции широко применяются индексы качественных показателей: цен, себестоимости, производительности труда и т.п. Качественный показатель характеризует уровень изучаемого результативного показателя в расчете на количественную единицу и определяется как отношение данного результативного показателя к связанному с ним количественному показателю, на единицу которого он определяется. Индекс физического объема I=∑q 1 p 0 /∑q 0 p 0 . Индекс цен I=∑q 1 p 1 /∑q 1 p 0 . Индекс себестоимости I=∑z 1 q 1 /∑z 0 q 1 . Индекс производительности труда (трудовой) I=∑t 0 q 1 /∑t 1 q 1 . Индекс производительности труда (стоимостной) I=∑q 1 p 0 /∑q 1 t 1: ∑q 0 p 0 /∑q 0 t 0 .

9. Схема индексного анализа общего объема сложных явлений и средних уровней. Индексы структуры. Объем явления (сумма выплаченной з/пл, сумма затрат, валовой сбор, сумма надоя и т.д.) представляет собой абсолютный показатель, характеризующий общий размер признака по всем единицам изучаемой совокупности. Общий объем явления обычно представляет собой агрегат W=∑Nx, где N - количественный признак (число единиц совокупности, численность населения и т.п.), а X - качественные признаки, характеризующие единицы совокупности (з/п одного работника). Его изменение в динамике оценивается индексом общего объема сложного явления I=∑N 1 x 1 /∑N 0 x 0 , идентичным для любых изучаемых явлений, по которым известны численность единиц совокупности (n, q) и значения изучаемых признаков (x,p,z,y и т.п.). Рассматриваемый индекс является индексом переменного состава. Его величина зависит от трех факторов: изменения уровня признака х, изменения численности единиц совокупности N, а также их структуры. Для оценки степени влияния каждого из этих факторов на изменение общего объема сложного явления проводится разложение индекса переменного состава на индексы фиксированного состава. Разложение проводится по двум схемам. 1) общая, применяется для любых совокупностей, состоящих как из разнокачественных (разная продукция и ресурсы), так и однородных элементов. В этом случае общий индекс разлагается на средний индекс значения признака х и индекс численности и структуры единиц совокупности: I w =∑N 1 x 1 /∑N 0 x 0 =∑N 1 x 1 /∑N 1 x 0 * ∑N 1 x 0 /∑N 0 x 0 =I x * I численности и структуры. 2) применяется для явлений, численность единиц которых может быть непосредственно просуммирована в натуральном выражении как ∑N 0 и ∑N 1 . Это позволяет рассчитать индекс численности единиц I N =∑N 1 /∑N 0 , а индекс численности и структуры разложить на два индекса – численности и структуры отдельно: I структуры =∑N 1 x 0 /∑N 0 x 0: ∑N 1 /∑N 0 . Индекс общего объема сложного явления разлагается на три индекса: I w =I x *I N *I структуры. (пример: I валового сбора = I размера посевов * I урожайности * I структуры посевов).При индексном анализе общего объема явлений по совокупности непосредственно несопоставимых в натуральном выражении элементов (разные виды продукции, ресурсов, материалов и т.п.) следует иметь в виду, что полученный по 1 схеме разложения индекс численности и структуры единиц совокупности может быть разложен дальше по 2 схеме, если натуральный показатель N заменить на условно-натуральный Nk, где k – коэффициент соизмерения разнородных элементов (питательность кормов, энергоемкость, трудоемкость и т.п.)

Наряду с агрегатными индексами в статистике широко используютиндексы средних уровней признаков: I X ср =X 1ср /X 0ср, где X 1ср - средний уровень изучаемого признака Xза отчетный период, а X 0ср - его базисное значение (за прошлый период, по другой совокупности, по плану и т.д.). Средние уровни могут быть рассчитаны по группе однородных или разнородных элементов. Рассмотрим сначала индекс среднего уровня по однородной совокупности , элементы которой поддаются непосредственному суммированию. В общем виде индекс среднего уровня I X ср в процессе его анализа разлагается на два составляющих: индекс уровня признака I X и индекс структуры I стр, так что I X ср =I X I стр, или I X ср =X 1ср /X 0ср =(X 1ср /Xусл ср)(Xусл ср /X 0ср); I X ср =∑d 1 Х 1 /∑d 0 Х 0 =(∑d 1 Х 1 /∑d 1 Х 0)(∑d 1 Х 0 /∑d 0 Х 0). Подобным же образом по группам однородных элементов изучается изменение средней урожайности культур, продуктивности животных, зарплаты и выработки на работника, выработки машин, затрат на единицу продукции, прибыльности продукции и других качественных признаков Х. Посовокупности качественно разнородных элементов q i и Q i , неподдающихся непосредственному суммированию, средние уровни рассчитывают только после приведения этих элементов в сопоставимый вид и перевода их из натурального в условно-натуральное или стоимостное выражение. Индекс структуры . Разложение общего объема сложных явлений возможно по двум схемам. 1-я схема – общая, применяется для любых совокупностей. В этом случае общий индекс разлагается на средний индекс значения признака х и индекс численности и структуры единиц совокупности. I W ==∑S 1 x 1 /∑S 0 x 0 =(∑S 1 x 1 /∑S 1 x 0)(∑S 1 x 0 /∑S 0 x 0)=I x I числ. и стр. 2-я схема применяется для явлений, численность единиц которых м.б. непосредственно просуммирована в натуральном выражении. Это позволяет рассчитать индекс численности единиц I S =∑S 1 /∑S 0 , а индекс численности и структуры разложить на 2 индекса – численности и структуры отдельно:I стр =(∑S 1 x 0 /∑S 0 x 0)/(∑S 1 /∑S 0). В итоге индекс общего объема сложного явления разлагается на три индекса: I объема явления = I объема совокупности * I признака * I структуры. Схема 2 может быть модифицирована, когда вначале общий индекс разлагается на индекс численности единиц и индекс среднего уровня признака по схеме I w =∑S 1 /∑S 0 * x 1ср /х 0ср, а затем индекс среднего уровня разлагается на средний индекс признака и индекс структуры I x ср =х 1ср /х 0ср =х 1ср /х услср * х услср /х 0ср =I x *I структуры.

Индексный метод - один из самых распространенных методов статистического анализа экономических явлений. С помощью индексов изучаются народное хозяйство в целом и его отдельные отрасли, а также деятельность предприятий, объединений, фирм, хозяйств и др.; выявляется динамика развития социально-экономических явлений, анализируется выполнение планов или норм; определяется влияние отдельных факторов на общий результат, вскрываются резервы производства; проводятся территориальные и международные сопоставления экономических показателей.

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

Так как индекс - относительный показатель, то он всегда получается при соотношении двух величин: отчетной (или текущей), т. е. сравниваемой, и базисной, т. е. той, с уровнем которой сравнивается отчетная величина. Если за базу сравнения берется уровень явления за какой-то прошлый период времени, получают динамические индексы; если за базу сравнения берется уровень явления на другой территории, получают территориальные индексы.

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

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

Индексы рассчитываются как для отдельных элементов сложного явления, так и для всего сложного явления в целом. В первом случае они называются индивидуальными

и обозначаются латинской буквой i, а во второй - общими

и обозначаются I . К индивидуальным индексам относятся индексы, характеризующие изменение выпуска одного какого-либо вида продукции (индексы выплавки стали, добычи калийных удобрений, производства телевизоров и др.), индексы, характеризующие изменение цены какого-либо товара (велосипедов, цемента, говядины и др.), себестоимости отдельного изделия и т. д.

К индексам, исчисленным для всего сложного явления, т. е. общим, относятся индексы, характеризующие динамику выпуска всей продукции предприятия, отрасли и др., динамику цен группы товаров, или всех товаров, или набора продовольственных и непродовольственных товаров и услуг, входящих в "потребительскую корзинку", динамику себестоимости ряда изделий.

Для удобства построения индексов в теории статистики разработана символика, т. е. каждая анализируемая величина имеет свое обозначение. Так, количество единиц данного вида произведенной или реализованной продукции обозначается - q, цена единицы изделия - р, себестоимость единицы изделия - z, трудоемкость единицы изделия - t, выработка продукции па одного работающего - w, удельный расход материала (топлива), т. е. расход материала (топлива) на единицу продукции, - m и т.д.

Следовательно, индивидуальный индекс физического объёма будет иметь вид:

Формула индивидуального индекса цен будет:

а индивидуального индекса себестоимости:

Классификация индексов:

Общие индексы

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

Чтобы сделать сопоставимыми несоизмеримые явления (или их элементы), нужно выразить их общей мерой; стоимостью, трудовыми затратами и т. д. Эта задача решается построением и расчетом общих Индексов. Основной формой общих индексов являются агрегатные индексы.

THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама