Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Индексация  [new]
MedBrat777
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 57
Добрый день!

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

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

Подскажите, если создать в БД индекс, необходимый мне:

1. после создания он автоматически протянется или надо запускать какую-то доп операцию для пересчета?
2. повлечет ли это негативные последствия окромя увеличения размера БД? (читал операции вставки, чтения, записи начинают подтормаживать).

Вопросы может быть задаю кривые, но прочтя теорию по индексам не все дошло. осталось понять каким образом организовать практическую реализацию некоторых моментов.
7 июл 13, 22:56    [14533465]     Ответить | Цитировать Сообщить модератору
 Re: Индексация  [new]
baracs
Member

Откуда: Москва
Сообщений: 7217
MedBrat777
...на таблицах созданы только кластеризованные индексы содержащие ключевые поля.

В общем, при выполненинии запросов смотрю результаты по "цене" и все, что связано с вышеуказанными индексами имеет самый большой вес. Где созданы отдельные индексы (некластеризованные) содержащие поля запроса - цена 1 процент. Из сего делал выводы, что индекс чисто по ключевому полю не очень эффективен.
Это особенность архитектуры вашей БД и ваших запросов. Не более.
MedBrat777
Подскажите, если создать в БД индекс, необходимый мне:
1. после создания он автоматически протянется или надо запускать какую-то доп операцию для пересчета?
Охренительная у вас терминология.
Сервер будет рассматривать возможность использования новых индексов при компиляции нового плана запроса. Приблизить этот момент можно с помощью хинта RECOMPILE или команды DBCC FREEPROCCACHE.
MedBrat777
2. повлечет ли это негативные последствия окромя увеличения размера БД? (читал операции вставки, чтения, записи начинают подтормаживать).
Тут не понятно, что вы разумеете под размером БД...
Ну да, обслуживание индексов требует определенных накладных расходов. Но не так страшен черт...
8 июл 13, 00:04    [14533615]     Ответить | Цитировать Сообщить модератору
 Re: Индексация  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
MedBrat777
Добрый день!
на таблицах созданы только кластеризованные индексы содержащие ключевые поля.

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

Всё, что связано с индексами это что? Clustered Index seek 98%?) Так это же самая быстрая операция. Значит остальная часть запроса весит намного меньше.
Другой разговор, если у вас Clustered Index Scan, тут уже надо смотреть почему. Либо я вас не понял, либо вы не очень понимаете для чего нужны индексы и планы запросов.
8 июл 13, 09:26    [14534057]     Ответить | Цитировать Сообщить модератору
 Re: Индексация  [new]
MedBrat777
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 57
Сергей Викт.,

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

Суть в чем... если индекс некластеризованный, как я полагаю (может ошибаюсь), он будет более детальный, поскольку априори включает кластеризованный. А следовательно используя такой индекс, который будет содержать поля для конкретного запроса эффективность (скорость поиска) будет выше, а следовательно и выполнение запроса. Я ошибаюсь?

Следовательно, если индексируется только ключевое поле (например номер операции), а мне надо подтянуть соседнее поле, то перебор пойдет из КУЧИ? Или ошибаюсь?

Заранее прошу прощения, у великих и могучих гуру MS SQL сервера. Я новичок парашютного спорта и только учусь.
8 июл 13, 10:16    [14534256]     Ответить | Цитировать Сообщить модератору
 Re: Индексация  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
https://www.sql.ru/articles/mssql/03013101indexes.shtml
8 июл 13, 10:18    [14534268]     Ответить | Цитировать Сообщить модератору
 Re: Индексация  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
MedBrat777
Сергей Викт.,

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

Суть в чем... если индекс некластеризованный, как я полагаю (может ошибаюсь), он будет более детальный, поскольку априори включает кластеризованный. А следовательно используя такой индекс, который будет содержать поля для конкретного запроса эффективность (скорость поиска) будет выше, а следовательно и выполнение запроса. Я ошибаюсь?

Следовательно, если индексируется только ключевое поле (например номер операции), а мне надо подтянуть соседнее поле, то перебор пойдет из КУЧИ? Или ошибаюсь?

Заранее прошу прощения, у великих и могучих гуру MS SQL сервера. Я новичок парашютного спорта и только учусь.

Вам чуть выше дали источник. Прочитайте очень внимательно, и, думаю, сами сможете ответить на большинство своих вопросов:)
8 июл 13, 10:23    [14534288]     Ответить | Цитировать Сообщить модератору
 Re: Индексация  [new]
Гость333
Member

Откуда:
Сообщений: 3683
MedBrat777
на таблицах созданы только кластеризованные индексы

MedBrat777
перебор пойдет из КУЧИ?

Куча — это таблица, на которой не создано кластеризованного индекса. Это азы, расписанные в любой книге по MSSQL для начинающих. Поэтому да, сперва надо бы изучить азбуку...
8 июл 13, 10:37    [14534361]     Ответить | Цитировать Сообщить модератору
 Re: Индексация  [new]
MedBrat777
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 57
Гость333,

да, это я дал маху. читал.
8 июл 13, 10:55    [14534453]     Ответить | Цитировать Сообщить модератору
 Re: Индексация  [new]
MedBrat777
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 57
Сергей Викт.,

этот материал прочел, но покуда на конкретных примерах не разобрано не вдупляю. ну, если у Вас скил прогера выше, почему не научить подрастающее поколение))) ? я может неправильно задаю вопросы... по незнанию.
8 июл 13, 11:01    [14534487]     Ответить | Цитировать Сообщить модератору
 Re: Индексация  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
MedBrat777
Сергей Викт.,

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

Тогда самый простой вариант, посмотрите :

Доклад ч. 1
Доклад ч. 2
Доклад ч. 3
8 июл 13, 11:26    [14534688]     Ответить | Цитировать Сообщить модератору
 Re: Индексация  [new]
baracs
Member

Откуда: Москва
Сообщений: 7217
MedBrat777
Сергей Викт.,

этот материал прочел, но покуда на конкретных примерах не разобрано не вдупляю.
И где конкретные примеры из вашей БД?
MedBrat777
я может неправильно задаю вопросы... по незнанию.
Как правильно задавать вопросы.
8 июл 13, 11:34    [14534749]     Ответить | Цитировать Сообщить модератору
 Re: Индексация  [new]
MedBrat777
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 57
Сергей Викт.,

спасибо за ссылочку. материал оч ценный и действительно все вопросы решились.
10 июл 13, 12:53    [14546330]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить