V>Подмена понятий.
V>Операция вставки является "слабонагруженной", а не таблица.
Понятия "нагруженность операции" не существует.
V>Но в этом и была цель, собсно.
V>По этой таблице пересчитываются большинство итогов.
Продолжаем нести бред. Вы же только что предлагали вынести все итоги в отдельную таблицу, которая поддерживается в актуальном состоянии тем самым кодом, который вы переписали с триггеров на рукопашный код.
Помните, вы ещё смеялись над моей верой в то, что indexed view будет не медленнее, чем ваш рукопашный ненадёжный код? Ну так нет никаких "пересчётов" в этой схеме.
V>В этом тоже была цель, собсно, чтобы при добавлении нового вида док-та не пришлось переписывать половину всего кода, генерирующего отчётность.
V>Сама отчётность тоже считается примерно на порядок быстрее, чем в варианте собирания её из нескольких десятков разнородных таблиц.
Что за отчётность? Давайте поговорим об этом. Если вы хотите гонять "отчётность" по вот этой вот таблице движений, то мы сейчас развеем ваши заблуждения про то, сколько там потребуется индексов, и сколько будет вариантов планов для этих запросов.
V>Русским языком было написано про "товары на резерве".
V>Разумеется, это тоже одна таблица на десятки возможных типов документов.
V>Или ты опять предлагаешь при добавлении нового типа документа скакать по всей базе в поисках зависимостей? ))
Я вообще ничего про "скакать" не предлагаю. Это вы пытаетесь от неудобной для вас темы планов запросов перейти к вопросам дизайна базы.
V>Да я уже понял, что ты хотел на досуге поиграть с показанной схемой... хотел, хотел... но обломался.
Я поиграл, но понял, что это был ложный манёвр — внести в обсуждение лишнюю таблицу. В реальности всё упирается в orders и orderDetails, и мы возвращаемся к исходной точке — в классических примерах там 8 индексов, и ровно потому, что по этой таблице строятся аналитические отчёты. Когда вы начнёте делать такие же отчёты по таблице движений, то придётся добавить те же индексы, и вводить в рассмотрение те же планы.
И хрен вы построите "один, оптимальный план" по историческим данным — тупо потому, что "оптимальность" плана зависит от значений
параметров. А они, в отличие от исторических данных, каждый раз разные.