Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Некластеризованный индекс на кластеризованной таблице  [new]
Quest123
Guest
Объясните пожалуйста: есть таблица, на ней построен кластеризованный индекс (КИ) и некластеризованный (НИ). Как известно, при поиске по НИ используется КИ (значение КИ находится на листе НИ). Вопрос, собственно, в следующем: если столбцы КИ и НИ не перекрываются (т.е. КИ никак не связан с тем, что ищется по НИ ), то в данном случае издержки (по производительности) при использовании НИ будут бОльшими по сравнению с тем, если бы соответсвующий КИ отсутствовал или нет?
25 окт 10, 17:46    [9672412]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
iljy
Member

Откуда:
Сообщений: 8711
Quest123,

а какая собственно связь? Значения КИ в любом случае есть на листьях, есть ли они в списке полей НИ - может отразится только на размере листового уровня.

По поводу же собственно сравнения производительности КИ и кучи - очень часто оно обсуждалось, вот сходу нашел тему. Сама она так себе, но ссылки оттуда дают интересные.
25 окт 10, 17:57    [9672517]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Glory
Member

Откуда:
Сообщений: 104751
Quest123
Объясните пожалуйста: есть таблица, на ней построен кластеризованный индекс (КИ) и некластеризованный (НИ). Как известно, при поиске по НИ используется КИ (значение КИ находится на листе НИ).

значение КИ используется не при поиске, а для доступа к полям таблицы, не включенном в индекс
25 окт 10, 17:57    [9672524]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Quest123
Guest
Glory

значение КИ используется не при поиске, а для доступа к полям таблицы, не включенном в индекс
А как в этом случае с производительностью: она выше при использовании КИ или она будет выше без него ?
25 окт 10, 18:09    [9672642]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Glory
Member

Откуда:
Сообщений: 104751
Quest123
Glory

значение КИ используется не при поиске, а для доступа к полям таблицы, не включенном в индекс
А как в этом случае с производительностью: она выше при использовании КИ или она будет выше без него ?

Производительность чего ?
Оптимизатор выбирает использование индекса заранее, до выполнения
На основе всего текста запроса
25 окт 10, 18:10    [9672654]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
Quest123
Glory

значение КИ используется не при поиске, а для доступа к полям таблицы, не включенном в индекс
А как в этом случае с производительностью: она выше при использовании КИ или она будет выше без него ?
Неизвестно.

Если нужны поля, которые не включены в НИ, то в любом случае их придётся доставать. Лучьше или хуже это делать через КИ, зависит от конктетного случая.
25 окт 10, 18:13    [9672691]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Quest123
Guest
Glory
Quest123
Glory

значение КИ используется не при поиске, а для доступа к полям таблицы, не включенном в индекс
А как в этом случае с производительностью: она выше при использовании КИ или она будет выше без него ?

Производительность чего ?
Оптимизатор выбирает использование индекса заранее, до выполнения
На основе всего текста запроса

Производительность одного и того же запроса:
1) По НИ (при наличии КИ)
2) По НИ (при отсутствии КИ)
Некластеризованный индекс один и тот же, запрос-тоже
25 окт 10, 18:15    [9672712]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Glory
Member

Откуда:
Сообщений: 104751
Quest123
Glory
Quest123
Glory

значение КИ используется не при поиске, а для доступа к полям таблицы, не включенном в индекс
А как в этом случае с производительностью: она выше при использовании КИ или она будет выше без него ?

Производительность чего ?
Оптимизатор выбирает использование индекса заранее, до выполнения
На основе всего текста запроса

Производительность одного и того же запроса:
1) По НИ (при наличии КИ)
2) По НИ (при отсутствии КИ)
Некластеризованный индекс один и тот же, запрос-тоже

Сферический конь в вакууме ?
Откуда уверенность, что ваш запрос использует индекс ?
Откуда уверенность, что ваш запрос использует только индекс ?
25 окт 10, 18:17    [9672723]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Quest123
Guest
alexeyvg
Неизвестно.

Если нужны поля, которые не включены в НИ, то в любом случае их придётся доставать. Лучьше или хуже это делать через КИ, зависит от конктетного случая.

Просто, если нет КИ, то на листе НИ содержится RID строки с данными. Если есть КИ - то значение КИ. Вот тут, мне кажется, будут доп. издержки в случае, если КИ и НИ не перекрываются. Обоснуйте, если я не прав.
25 окт 10, 18:20    [9672741]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Glory
Member

Откуда:
Сообщений: 104751
Quest123
alexeyvg
Неизвестно.

Если нужны поля, которые не включены в НИ, то в любом случае их придётся доставать. Лучьше или хуже это делать через КИ, зависит от конктетного случая.

Просто, если нет КИ, то на листе НИ содержится RID строки с данными. Если есть КИ - то значение КИ. Вот тут, мне кажется, будут доп. издержки в случае, если КИ и НИ не перекрываются. Обоснуйте, если я не прав.

Дополнительные издержки на проведение какой операции ?
На чтение индекса ? На чтение ссылки на строку таблицы ? На чтение самой строки таблицы ?
25 окт 10, 18:22    [9672750]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Quest123
Guest
Glory

Сферический конь в вакууме ?
Откуда уверенность, что ваш запрос использует индекс ?
Откуда уверенность, что ваш запрос использует только индекс ?

Потому, что в условии запроса есть поле, которое есть в данном индексе.
Я чего-то непонятно объясняю?
25 окт 10, 18:24    [9672761]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Quest123
Guest
Glory

Дополнительные издержки на проведение какой операции ?
На чтение индекса ? На чтение ссылки на строку таблицы ? На чтение самой строки таблицы ?

Операции поиска нужных данных
25 окт 10, 18:26    [9672783]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Glory
Member

Откуда:
Сообщений: 104751
Quest123
Glory

Дополнительные издержки на проведение какой операции ?
На чтение индекса ? На чтение ссылки на строку таблицы ? На чтение самой строки таблицы ?

Операции поиска нужных данных

Вы скорее всего не понимаете, как этот поиск вообще происходит
25 окт 10, 18:27    [9672787]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Quest123
Guest
Glory
Quest123
Glory

Дополнительные издержки на проведение какой операции ?
На чтение индекса ? На чтение ссылки на строку таблицы ? На чтение самой строки таблицы ?

Операции поиска нужных данных

Вы скорее всего не понимаете, как этот поиск вообще происходит

А Вы, скорее всего, не понимаете что здесь спрашивают.
З.Ы. Вы коренной эстонец или это так местность повлияла?
25 окт 10, 18:31    [9672808]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Quest123
З.Ы. Вы коренной эстонец или это так местность повлияла?
Этнических исследователей с распростертыми объятиями ждет форум "Просто треп", а их темы, где они пытаются оффтопить, закрываются.
25 окт 10, 18:38    [9672841]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Quest123
Guest
Гавриленко Сергей Алексеевич
Quest123
З.Ы. Вы коренной эстонец или это так местность повлияла?
Этнических исследователей с распростертыми объятиями ждет форум "Просто треп", а их темы, где они пытаются оффтопить, закрываются.

Извините, не удержался...
Вопрос - то, собственно, увеличатся издержки или нет? Если Вы, как профи, чего-то можете сказать по этому делу, то говорите. А то "сферический конь", "не понимаете как этот поиск вообще происходит "... - чего флудить-то. Есть что сказать по делу - говорите!
25 окт 10, 18:43    [9672865]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Glory
Member

Откуда:
Сообщений: 104751
Quest123
Гавриленко Сергей Алексеевич
Quest123
З.Ы. Вы коренной эстонец или это так местность повлияла?
Этнических исследователей с распростертыми объятиями ждет форум "Просто треп", а их темы, где они пытаются оффтопить, закрываются.

Извините, не удержался...
Вопрос - то, собственно, увеличатся издержки или нет? Если Вы, как профи, чего-то можете сказать по этому делу, то говорите. А то "сферический конь", "не понимаете как этот поиск вообще происходит "... - чего флудить-то. Есть что сказать по делу - говорите!

Когда вы сможете внятно сформулировать понятия "поиск нужных данных" и "издержки", то сразу получите внятный ответ
А пока вы говорите именно про сферического коня и не слова по делу
25 окт 10, 19:02    [9672956]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Quest123
Guest
Glory

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

Ну не знаю, я вроде не на китайском писал...
"Поиск нужных данных" - данные, возвращаемые sql- запросом (оператор select)
"издержки" - операции, выполняемые sql-сервером для выполнения sql-запроса.
Меня интересует где этих операций (издержек) будет больше: в случае использования НИ на КИ или без КИ?
25 окт 10, 19:19    [9673009]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Glory
Member

Откуда:
Сообщений: 104751
Начните с изучения основ
//https://www.sql.ru/articles/mssql/03013101Indexes.shtml
Это поможет вам использовать правильную терминологию
25 окт 10, 19:24    [9673024]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
iljy
Member

Откуда:
Сообщений: 8711
Quest123,

вы ссылки, которые я вам дал, посмотрели?
25 окт 10, 19:28    [9673036]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Quest123
Guest
Собственно, весь сыр-бор по-прочтении книги Р.Виейры "Программирование для MS SQL Server 2005 для профессионалов".В частности вот эти выдержки (3шт):
1) стр.289

К сообщению приложен файл. Размер - 0Kb
27 окт 10, 16:57    [9686695]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Quest123
Guest
2) стр. 291

К сообщению приложен файл. Размер - 0Kb
27 окт 10, 16:58    [9686707]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Quest123
Guest
3) стр. 291

К сообщению приложен файл. Размер - 0Kb
27 окт 10, 16:59    [9686719]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Quest123
Guest
Схема поиска через КИ

К сообщению приложен файл. Размер - 0Kb
27 окт 10, 17:01    [9686733]     Ответить | Цитировать Сообщить модератору
 Re: Некластеризованный индекс на кластеризованной таблице  [new]
Quest123
Guest
т.е. если это верно (производительность поиска по НИ выше на куче, чем на кластеризованной таблице), то почему MS сделала именно так? Почему на кластеризованной таблице для некластеризованных индексов на листовом уровне хранить не кластеризованный ключ, а RID ?
27 окт 10, 17:05    [9686776]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить