Текущее время: Вт, июл 22 2025, 20:30

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: поиск по первичному ключу
СообщениеДобавлено: Вт, июл 31 2007, 18:25 
Начинающий
Начинающий

Зарегистрирован:
Пт, дек 29 2006, 18:43
Сообщения: 4
Уважаемые господа. Хотелось бы прояснить следующий вопрос. Предположим , я имею в прозрачной таблице первичный ключ из 3 полей(f1,f2,f3). Мне нужно сделать SELECT только по f2. При выполнении SElect * from ddd into table ggg Where f2 = cond будет ли задействоваться ключ или это будет какой-то перебор. Может для корректности надо добавить типа Where f1 in sf1 AND f2 = cond , где sf1 -пустой select-options? СПАСИБО


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 31 2007, 19:03 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Чтобы ответить на все ваши вопросы достаточно посмотреть планы выполнения запроса в разных вариантах.

В крацее по убыванию быстродействия:
1. Поиск по полному ключу (индексу) - unique index scan
2. Поиск по частичному ключу (индексу) - range index scan
3. Поиск по полям не входящим в ключ (индекс) - full table scan

Цитата:
Может для корректности надо добавить типа Where f1 in sf1 AND f2 = cond , где sf1 -пустой select-options?

Не стоит. Ничего не изменится.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: поиск по первичному ключу
СообщениеДобавлено: Ср, авг 01 2007, 07:08 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
[quote="anatolyl"]Уважаемые господа. Хотелось бы прояснить следующий вопрос. Предположим , я имею в прозрачной таблице первичный ключ из 3 полей(f1,f2,f3). Мне нужно сделать SELECT только по f2. При выполнении SElect * from ddd into table ggg Where f2 = cond будет ли задействоваться ключ или это будет какой-то перебор.
Так сходу никто вам тут никто не скажет, нада сматреть самому:

1) Транзакция SCI - Code Inspector умный товарищ сразу вам
поскажет, если индекс не подхватится - это самое простое.
2) Транзакция ST05- Трассировка-тоже неплохая весч


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: поиск по первичному ключу
СообщениеДобавлено: Ср, авг 01 2007, 08:11 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
anatolyl написал(а):
SElect * from ddd into table ggg Where f2 = cond

Следует, наверное, уточнить, что f2 не является частичным ключом.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 01 2007, 08:24 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, май 26 2005, 11:36
Сообщения: 651
Откуда: Киев-Москва
Создайте отдельный неуникальный индекс по этому полю. И отследите в трассировке ST05, в explain plan, что он подхватился.

_________________
Рисую потоки данных.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: поиск по первичному ключу
СообщениеДобавлено: Ср, авг 01 2007, 14:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
anatolyl написал(а):
Может для корректности надо добавить типа Where f1 in sf1 AND f2 = cond , где sf1 -пустой select-options?

Корректней не станет.
f1 in sf1 не SQL-выражение и будет упрощено, т.е. просто откинется, если sf1 пустое.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB