Текущее время: Пт, июл 18 2025, 03:03

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Вопрос производительности (MSEG, BKPF)
СообщениеДобавлено: Ср, авг 18 2010, 13:34 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
Пономарев Артем написал:
Я так полагаю, что SAP использует индексы - двоичные деревья.


SAP сам по себе не использует индексы, он просто выполняет SELECT в базе данных, а СУБД уже может использовать индексы.

Насчет двоичных деревьев - это неверно. Правильное название типа "обычного" индекса Oracle - B-дерево. При этом B не переводится как Binary. У каждого узла дерева может быть намного больше 2 подветок, что обеспечивает не очень большое количество переходов для поиска записи даже в таблицах-миллионниках.

Пономарев Артем написал:
Если кто знает точно, какой тип индекса создает SAP в БД - был бы рад получить ссылку.


Для Oracle - это как раз B-дерево. Дело в том, что в Oracle этот индекс создается по умолчанию, долгое время это был единственный возможный вид индекса. SAP создает индекс с параметрами по умолчанию, поэтому получается индекс типа B-дерево. И это правильно - данный тип индекса наиболее правильный в большинстве случаев.
Вероятно в других СУБД то же самое - создается "самый обычный индекс".
Ссылку дать не могу, но я даже не сомневаюсь. Во всем этом можно убедиться, реально посмотрев в Oracle. Что-то можно увидеть в SE11, недостающее в ST04 (для не Oracle точно не уверен).


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос производительности (MSEG, BKPF)
СообщениеДобавлено: Ср, авг 18 2010, 14:11 
Модератор
Модератор
Аватара пользователя

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

А теперь покажите мне где в SE11 или в ST04 мы сможем увидеть тип созданного индекса в той или иной СУБД?

То, что я тоже в этом уверен никак не является достаточным доказательством того, что SAP всегда использует конструкцию DDL CREATE INDEX без указания чего, собственно, создать.

P.S.: Долгое время в Oracle был доступен только Bitmap-индекс. А уж только потом появились остальные. Так что то, что сейчас по дефолту используется B-tree - еще ни о чем не говорит.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос производительности (MSEG, BKPF)
СообщениеДобавлено: Чт, авг 19 2010, 01:06 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
Пономарев Артем написал:
А теперь покажите мне где в SE11 или в ST04 мы сможем увидеть тип созданного индекса в той или иной СУБД?


В SE11 нельзя (я когда писал - предполагал, а не утверждал, в систему было лень лазить). В ST04 можно!

ST04 -> Oracle Database Administration (закладочка слева, по умолчанию открыта) -> Additional Functions -> Display DBA-Views
В списке вьюх открываем DBA_INDEXES. Откроется список всех индексов, поле INDEX_TYPE и есть тип индекса. NORMAL - значит B-дерево (если есть в этом сомнения, можно еще поискать доказательств, думаю где-нибудь в оракловских доках). Выбрал все индексы по Z-таблицам (поле TABLE_NAME) - все они "NORMAL".

Пономарев Артем написал:
P.S.: Долгое время в Oracle был доступен только Bitmap-индекс. А уж только потом появились остальные. Так что то, что сейчас по дефолту используется B-tree - еще ни о чем не говорит.


Нет, все с точностью до наоборот - долгое время не было Bitmap-индекса, он появился с какой-то версии.
Цитата из книги "Tom Kyte Oracle Experts 9 16 MB" (именно так ее можно найти в инете, и у меня так файл называется).

Цитата:
Индексы на основе битовых карт появились в версии 7.3 сервера Oracle. Сейчас они доступны в редакция Oracle 8i
Enterprise и Personal Edition, но не в Standard Edition.


PS Зря я сказал, что слово двоичный - это неправильно. Оказывается, все-таки за основу взято двоичное дерево, видимо просто конечным листом дерева является не одна запись, а целый диапазон (сильно не вникал). И B- наверное все-таки значит binary. Много где так и пишется - двоичное. Беру эти слова обратно.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос производительности (MSEG, BKPF)
СообщениеДобавлено: Чт, авг 19 2010, 07:56 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
raaleksandr написал:
PS Зря я сказал, что слово двоичный - это неправильно. Оказывается, все-таки за основу взято двоичное дерево, видимо просто конечным листом дерева является не одна запись, а целый диапазон (сильно не вникал). И B- наверное все-таки значит binary. Много где так и пишется - двоичное. Беру эти слова обратно.


:D зря обратно взял

B-tree - balanced tree. Not to be confused with Binary tree.
B-tree
Индексы

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос производительности (MSEG, BKPF)
СообщениеДобавлено: Чт, авг 19 2010, 10:33 
Модератор
Модератор
Аватара пользователя

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

За ST04 спасибо, не увидел что-то. NORMAL - это само собой B-tree. Так что доказательства получены.

По поводу индексов кто-то в интернете не прав :) Я точно помню что читал про изначально существование только битмапов. С другой стороны Кайту я верю больше, чем своей памяти. Да и было это все достаточно давно и сейчас представляет чисто исследовательский интерес.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос производительности (MSEG, BKPF)
СообщениеДобавлено: Чт, авг 19 2010, 12:40 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
Пономарев Артем написал:
Sergo, не так уж и зря. Правильно, конечно, сбалансированное дерево. Но в основе один фиг дерево (двоичное будет, кстати, частным случаем) и очень часто их зовут бинарными или двоичными (что, конечно же, ошибка, но).


raaleksandr написал:
... При этом B не переводится как Binary.

Это верно.

raaleksandr написал:
PS Зря я сказал, что слово двоичный - это неправильно ... Беру эти слова обратно.

Первое было верным, и потому зря взял обратно.

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос производительности (MSEG, BKPF)
СообщениеДобавлено: Чт, авг 19 2010, 23:16 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
Если верить википедии (а не многочисленным другим источникам, в некоторых из которых пишется бинарное, в некоторых пишется что бинарное - неправильно, а правильно сбалансированное).
Так вот, если верить википедии, то правильно просто B-Tree. "B" формально никак не расшифровывается.

Цитата из википедии:
Цитата:
Etymology unknown

Rudolf Bayer and Ed McCreight invented the B-tree while working at Boeing Research Labs in 1971 (Bayer & McCreight 1972), but they did not explain what, if anything, the B stands for. Douglas Comer explains:

The origin of "B-tree" has never been explained by the authors. As we shall see, "balanced," "broad," or "bushy" might apply. Others suggest that the "B" stands for Boeing. Because of his contributions, however, it seems appropriate to think of B-trees as "Bayer"-trees. (Comer 1979, p. 123 footnote 1)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3

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


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

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


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

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