powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Горизонтально секционированных представлений и индексы
11 сообщений из 11, страница 1 из 1
Горизонтально секционированных представлений и индексы
    #32010522
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем !

Начиавшись статьи http://www.osp.ru/win2000/sql/2000/03/311.htm, попробовал все это реализовать на практике.

С созданием таблиц и представлений проблем нет - тут все работает.

НО, когда я попробовал предложить ITW мои типовые запросы, переписанные уже с использованием новых представлений, то он после долгих раздумий(т.е.) не выдал мне вообще НИКАКИХ рекомендаций.
Только если устанавливать опцию Add indexed views, то для каждого запроса ITW создает 5-6 дополнительных представлений.

Неужели индексы действительно не нужны ? Но ведь таблицы большие 10-12 млн записей каждая и их 15 штук. Или придется самостоятельно решать какие индексы нужны/не нужны ?

PS
SQL2000
При использовании одной большой таблицы и тех же запросов ITW выдает рекомендации по индексам и статистикам.
...
Рейтинг: 0 / 0
Горизонтально секционированных представлений и индексы
    #32010528
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может и не в тему, но...
Я по Вашей рекомендации прочитал эту статью. И у меня возник ряд выводов. Особенно что касается индексов. Ведь даже в самой статье показан скреен QA где явно виден Table Scan для таблицы. Выходит, что при таком большом числе записей 10...30 млн, индекс может стать монотонным (ест. кроме первичного ключа). В этом случаи оптим. запросов принимает решение просто делать TS. И при проверке получается действительно быстрее. Если в хинте явно указать индекс, то стоимость резко возрастает, а производительность падает. Имел реальный трабл, когда изначально проиндексировал таблицу, создал и отладил запрос, использующийся в приложении. В QA - Index Seek. Все в порядке... Но в определенный момен прил. стало поддтормаживать. Проверил тотже запрос в QA - Table Scan. Может кто нибудь знает (или скажет где почитать), при каком отношении число ун. значений поля записи/число записей для индексированного поля SQL переходит на Table Scan. Поправьте, если я не прав в своих выводах.
...
Рейтинг: 0 / 0
Горизонтально секционированных представлений и индексы
    #32010630
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так что, неужели придется "жить" без индексов ???

Попробовал построить для каждой отдельной таблицы индексы, которые ITW предлагал при использовании одной большой таблицы - время выполнения увеличилось ~40%, хотя в плане оптимизатор показывает, что использует индексы.
...
Рейтинг: 0 / 0
Горизонтально секционированных представлений и индексы
    #32010634
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Glory

А разделенные таблицы большими получились?

>время выполнения увеличилось ~40%

Теперь понятно почему ITW не рекомендовал создание индекса?

Дело в том что индекс может и замедлять работу поэтому и существует оптимизатор, который и решает использовать индекс или нет.
...
Рейтинг: 0 / 0
Горизонтально секционированных представлений и индексы
    #32010637
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет ITW. Сталкивался пару раз с ситуацией, при которой построение индекса по рекомендациям ITW приводило к снижению производительности
...
Рейтинг: 0 / 0
Горизонтально секционированных представлений и индексы
    #32010639
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Genady
Каждая таблица 10-12 млн записей, размер каждой таблицы от 1,5 до 3 Гб.

>Теперь понятно почему ITW не рекомендовал создание индекса?
Но ведь у таблиц НЕТ индексов - неужели сканирование всей таблицы ВСЕГДА будет быстрее, чем скажем сканирование с использованием кластерного индекса ?


2 pkarklin
>приводило к снижению производительности
Данного запроса или других запросов ?

Я использую ITW таким образом - при запущенном Profiler выполняю 15-20 запросов. Затем на trace файл, полученный от Profiler, натравливаю ITW.
...
Рейтинг: 0 / 0
Горизонтально секционированных представлений и индексы
    #32010641
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Glory!

Запроса, для которого ITW предлагает построить индекс. Строим в сответсвии с тем, что он предложил. В результате время выполнения запроса увеличивается.

Работаю на 7.0
...
Рейтинг: 0 / 0
Горизонтально секционированных представлений и индексы
    #32010643
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Но ведь у таблиц НЕТ индексов - неужели сканирование всей таблицы ВСЕГДА будет быстрее, чем скажем сканирование с использованием кластерного индекса ?

А РК у вас некластерный?

>Я использую ITW таким образом - при запущенном Profiler выполняю 15-20 запросов. Затем на trace файл, полученный от Profiler, натравливаю ITW.

На самом деле рекомендации ITW зависят от запросов это относится и к опыту pkarklin, нужно что бы запросы были наиболее типичны.

Использовать или нет индексы решает оптимизатор вычисляя стоимость зопроса, на курсах по оптимизации нам показывали, что иногда бывает достаточно одной добавочной записи в возвращяемом наборе, чтобы опимизатор перешел на скан таблицы. Ну и не стоит забывать о фрагментации
...
Рейтинг: 0 / 0
Горизонтально секционированных представлений и индексы
    #32010645
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я же про это и говорю - у таблиц НЕТ НИКАКИХ индексов.

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

После первого запуска у таблиц появилась статистика, т.к. на сервер выключено её автоматическое создание
...
Рейтинг: 0 / 0
Горизонтально секционированных представлений и индексы
    #32010646
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>НЕТ НИКАКИХ индексов.

И РК нет???

>Конечно, я использую типовые запросы

Ну так ITW и считает, что на Ваших запросах невыгодно создание индексов.
Ваши запросы возвращяют большой набор данных? Если да то, обычно чем больший набор возвращается, тем меньше вероятность использования индекса. За исключением кластерного, конечно.
...
Рейтинг: 0 / 0
Горизонтально секционированных представлений и индексы
    #32010648
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Без файла нагрузки для Index Tuning Wizard (причём, максимально приближенного к реальным условиям) результаты могут быть не предсказуемые. Очень многое влияет на время исполнения запроса и очень многое может помешать оптимизатору. Одной статьи, которая была указана в начале, недостаточно. На этом сайте Вы найдёте ещё несколько статей, рассматривающих разные аспекты оптимизации запросов. Здесь уже указывали на фрагментацию, селективность и пр. Всё нужно решать в комплексе, возможно, даже путём пересмотра запросов или использованием подсказок оптимизатору. Многие интересные идеи уже высказывались и в этом форуме. Запаситесь терпением, изучите вопрос более детально и Вы сможети найти правильное решение.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Горизонтально секционированных представлений и индексы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]