Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Горизонтально секционированных представлений и индексы
|
|||
|---|---|---|---|
|
#18+
Привет всем ! Начиавшись статьи http://www.osp.ru/win2000/sql/2000/03/311.htm, попробовал все это реализовать на практике. С созданием таблиц и представлений проблем нет - тут все работает. НО, когда я попробовал предложить ITW мои типовые запросы, переписанные уже с использованием новых представлений, то он после долгих раздумий(т.е.) не выдал мне вообще НИКАКИХ рекомендаций. Только если устанавливать опцию Add indexed views, то для каждого запроса ITW создает 5-6 дополнительных представлений. Неужели индексы действительно не нужны ? Но ведь таблицы большие 10-12 млн записей каждая и их 15 штук. Или придется самостоятельно решать какие индексы нужны/не нужны ? PS SQL2000 При использовании одной большой таблицы и тех же запросов ITW выдает рекомендации по индексам и статистикам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2001, 08:33 |
|
||
|
Горизонтально секционированных представлений и индексы
|
|||
|---|---|---|---|
|
#18+
Может и не в тему, но... Я по Вашей рекомендации прочитал эту статью. И у меня возник ряд выводов. Особенно что касается индексов. Ведь даже в самой статье показан скреен QA где явно виден Table Scan для таблицы. Выходит, что при таком большом числе записей 10...30 млн, индекс может стать монотонным (ест. кроме первичного ключа). В этом случаи оптим. запросов принимает решение просто делать TS. И при проверке получается действительно быстрее. Если в хинте явно указать индекс, то стоимость резко возрастает, а производительность падает. Имел реальный трабл, когда изначально проиндексировал таблицу, создал и отладил запрос, использующийся в приложении. В QA - Index Seek. Все в порядке... Но в определенный момен прил. стало поддтормаживать. Проверил тотже запрос в QA - Table Scan. Может кто нибудь знает (или скажет где почитать), при каком отношении число ун. значений поля записи/число записей для индексированного поля SQL переходит на Table Scan. Поправьте, если я не прав в своих выводах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2001, 08:52 |
|
||
|
Горизонтально секционированных представлений и индексы
|
|||
|---|---|---|---|
|
#18+
Ну так что, неужели придется "жить" без индексов ??? Попробовал построить для каждой отдельной таблицы индексы, которые ITW предлагал при использовании одной большой таблицы - время выполнения увеличилось ~40%, хотя в плане оптимизатор показывает, что использует индексы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2001, 07:19 |
|
||
|
Горизонтально секционированных представлений и индексы
|
|||
|---|---|---|---|
|
#18+
2 Glory А разделенные таблицы большими получились? >время выполнения увеличилось ~40% Теперь понятно почему ITW не рекомендовал создание индекса? Дело в том что индекс может и замедлять работу поэтому и существует оптимизатор, который и решает использовать индекс или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2001, 07:37 |
|
||
|
Горизонтально секционированных представлений и индексы
|
|||
|---|---|---|---|
|
#18+
Насчет ITW. Сталкивался пару раз с ситуацией, при которой построение индекса по рекомендациям ITW приводило к снижению производительности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2001, 07:39 |
|
||
|
Горизонтально секционированных представлений и индексы
|
|||
|---|---|---|---|
|
#18+
2 Genady Каждая таблица 10-12 млн записей, размер каждой таблицы от 1,5 до 3 Гб. >Теперь понятно почему ITW не рекомендовал создание индекса? Но ведь у таблиц НЕТ индексов - неужели сканирование всей таблицы ВСЕГДА будет быстрее, чем скажем сканирование с использованием кластерного индекса ? 2 pkarklin >приводило к снижению производительности Данного запроса или других запросов ? Я использую ITW таким образом - при запущенном Profiler выполняю 15-20 запросов. Затем на trace файл, полученный от Profiler, натравливаю ITW. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2001, 07:50 |
|
||
|
Горизонтально секционированных представлений и индексы
|
|||
|---|---|---|---|
|
#18+
To Glory! Запроса, для которого ITW предлагает построить индекс. Строим в сответсвии с тем, что он предложил. В результате время выполнения запроса увеличивается. Работаю на 7.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2001, 08:01 |
|
||
|
Горизонтально секционированных представлений и индексы
|
|||
|---|---|---|---|
|
#18+
>Но ведь у таблиц НЕТ индексов - неужели сканирование всей таблицы ВСЕГДА будет быстрее, чем скажем сканирование с использованием кластерного индекса ? А РК у вас некластерный? >Я использую ITW таким образом - при запущенном Profiler выполняю 15-20 запросов. Затем на trace файл, полученный от Profiler, натравливаю ITW. На самом деле рекомендации ITW зависят от запросов это относится и к опыту pkarklin, нужно что бы запросы были наиболее типичны. Использовать или нет индексы решает оптимизатор вычисляя стоимость зопроса, на курсах по оптимизации нам показывали, что иногда бывает достаточно одной добавочной записи в возвращяемом наборе, чтобы опимизатор перешел на скан таблицы. Ну и не стоит забывать о фрагментации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2001, 08:06 |
|
||
|
Горизонтально секционированных представлений и индексы
|
|||
|---|---|---|---|
|
#18+
Я же про это и говорю - у таблиц НЕТ НИКАКИХ индексов. Конечно, я использую типовые запросы - конкретно это процедуры, которые запускаются с рабочих мест. Из них я выбрал 20, которые наиболее часто используются. После первого запуска у таблиц появилась статистика, т.к. на сервер выключено её автоматическое создание ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2001, 08:25 |
|
||
|
Горизонтально секционированных представлений и индексы
|
|||
|---|---|---|---|
|
#18+
>НЕТ НИКАКИХ индексов. И РК нет??? >Конечно, я использую типовые запросы Ну так ITW и считает, что на Ваших запросах невыгодно создание индексов. Ваши запросы возвращяют большой набор данных? Если да то, обычно чем больший набор возвращается, тем меньше вероятность использования индекса. За исключением кластерного, конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2001, 08:29 |
|
||
|
Горизонтально секционированных представлений и индексы
|
|||
|---|---|---|---|
|
#18+
Без файла нагрузки для Index Tuning Wizard (причём, максимально приближенного к реальным условиям) результаты могут быть не предсказуемые. Очень многое влияет на время исполнения запроса и очень многое может помешать оптимизатору. Одной статьи, которая была указана в начале, недостаточно. На этом сайте Вы найдёте ещё несколько статей, рассматривающих разные аспекты оптимизации запросов. Здесь уже указывали на фрагментацию, селективность и пр. Всё нужно решать в комплексе, возможно, даже путём пересмотра запросов или использованием подсказок оптимизатору. Многие интересные идеи уже высказывались и в этом форуме. Запаситесь терпением, изучите вопрос более детально и Вы сможети найти правильное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2001, 08:39 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32010641&tid=1826039]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 267ms |
| total: | 399ms |

| 0 / 0 |
