Текущее время: Пн, июл 21 2025, 14:57

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Clustered tables & inner join
СообщениеДобавлено: Пт, дек 15 2006, 07:30 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 26 2006, 06:57
Сообщения: 47
Добрый день.

Вопрос: почему нельзя делать inner join кластерных таблиц?
Просветите, пожалуйста. :)

Заранее благодарю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 15 2006, 08:28 
Директор
Директор

Зарегистрирован:
Пт, окт 07 2005, 09:10
Сообщения: 752
Откуда: 4.6C
Пол: Мужской
Цитата:
Table pools (pools) and table clusters (clusters) are special table types in the ABAP Dictionary. The data from several different tables can be stored together in a table pool or table cluster. Tables assigned to a table pool or table cluster are referred to as pooled tables or cluster tables.

A table pool or table cluster should be used exclusively for storing internal control information (screen sequences, program parameters, temporary data, continuous texts such as documentation). All data of commercial relevance is stored exclusively in transparent tables!

Думаю это ограничение системы, связано со сложность механизма соединения таблиц в кластер(пул), а если еще и join сюда включить, то реализация этого всего будет громоздка. К тому же, как сказано во втором абзаце, там обычно храняться данные второго плана.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 15 2006, 08:34 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 26 2006, 06:57
Сообщения: 47
Aval написал:
Думаю это ограничение системы, связано со сложность механизма соединения таблиц в кластер(пул), а если еще и join сюда включить, то реализация этого всего будет громоздка. К тому же, как сказано во втором абзаце, там обычно храняться данные второго плана.

А как же BSEG/BSET? Дело в том, что сначала я попытался сделать inner join этих таблиц, но при проверке синтаксиса выскочила ошибка, что-де так делать нельзя, хотя select'ы были правильные. Пришлось разделить.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 15 2006, 08:51 
Директор
Директор

Зарегистрирован:
Пт, окт 07 2005, 09:10
Сообщения: 752
Откуда: 4.6C
Пол: Мужской
Для BSEG есть так наз. вторичные индексы BSIK, BSAK ....
В иных случаях выбираю, что нужно во внутр. таблицу и далее через LOOP дополняю основную выборку.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 15 2006, 09:01 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 26 2006, 06:57
Сообщения: 47
Спасибо за ответ!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 15 2006, 14:05 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Почитайте вообще про особенности строения кластерных таблиц, и почему рекомендуется вместо BSEG и тому подобных пользоваться так называемыми вторичными индексами - таблицами bsik, bsak, bsis, bsas и тд и тп

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


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

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
ArmAnn написал:
... рекомендуется вместо BSEG и тому подобных пользоваться так называемыми вторичными индексами - таблицами bsik, bsak, bsis, bsas и тд и тп


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

Во всех остальных случаях будет произведена выборка ВСЕХ данных, удовлетворяющих условию на ключ кластера. Поэтому и используются таблицы со вторичными индексами.

Все необходимые данные из bseg можно выбирать с помощью for all entries... по номерам документов.

linker написал(а):
Вопрос: почему нельзя делать inner join кластерных таблиц?


Если кратко, то таблицы кластера хранятся в упакованном виде и любое условие на поле (кроме ключа кластера) можно наложить только на сервере приложений, а операция соединения join транслируется и передается на сторону БД...

_________________
Счастье есть!


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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