Имя: Пароль:
1C
1С v8
использовался ли индекс. Планы запросов
,
0 sunshine
 
03.03.14
17:39
делаю запрос

ВЫБРАТЬ
    Номенклатура.Ссылка
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.Производитель = &Производитель

Получаю план запроса в профайлере. речь идет об MS SQL

далаю другой запрос

ВЫБРАТЬ
    Номенклатура.Ссылка
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.Ссылка = &Номенклатура

Получаю аналогичный план запроса.

Но ведь в первом запросе, я отбираю по неиндексируемому полю, а во втором по индексируемому.

Итак, вопрос. Как мне определить, был ли использован индекс в данном запросе или что-то пошло не так? Могу ли я полагаться на что-либо в этом вопросе, кроме времени исполнения запроса?
1 ДенисЧ
 
03.03.14
17:41
В плане запроса видно, что использовалось.
2 КонецЦикла
 
03.03.14
17:42
Ищи слова scan и seek в плане выполнения
3 ДенисЧ
 
03.03.14
17:44
(2) table scan - использовался индекс? :-))
4 sunshine
 
03.03.14
17:46
(3) именно. я получаю там и там  table scan. Как мне по плану запроса понять, был ли использован индекс?
5 ДенисЧ
 
03.03.14
17:46
(4) Если ты поимел table scan, то индекс не использовался.
6 КонецЦикла
 
03.03.14
17:49
(4) Епать, ну так переведи слова
http://translate.google.ru/
7 Жан Пердежон
 
03.03.14
17:51
(4) зачем тебе это знать, если даже не в теме?
8 Spieluhr
 
03.03.14
17:53
(0) в справочнике должно быть минимум несколько тысяч элементов, иначе всегда тэйбл скан будет
9 sunshine
 
03.03.14
17:54
(6) ты умеешь переводить слова? воу воу..
(5) Нормально ли тогда, при при отборе в 20 тысячах записей по индексируемому полю sql сканирует всю таблицу? Или это все-таки не так?
10 sunshine
 
03.03.14
17:54
(8) я понимаю, специально взял базу с большим количеством записей
11 sunshine
 
03.03.14
17:55
(7) зачем что-то писать, если ты даже при этом ничего не имеешь ввиду?
12 Spieluhr
 
03.03.14
17:55
(10) значит селективность выборки хреновая по наименованию (много одинаковых), дешевле всю таблицу сканировать
13 Spieluhr
 
03.03.14
17:57
(12) ой там же ссылка во втором запросе в условии...
14 sunshine
 
03.03.14
17:57
(12) селективность ссылок не высокая?
15 sunshine
 
03.03.14
17:57
(13) )))
16 Spieluhr
 
03.03.14
17:58
во втором запросе должен быть Clustered Index Seek
точно планы одинаковые?
17 ДенисЧ
 
03.03.14
17:59
(16) Да у него просто индекс не обновлялся со времён потопа...
18 sunshine
 
03.03.14
18:01
(16) ну да...
(17) попробую обновить, спасибо за подсказку!
19 sunshine
 
03.03.14
18:17
не помогло. Ладно, планировщику виднее.. Спасибо за подсказки.
Отдельный поклон Жан Пердежон, он в теме все-таки...