Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6 7 8   вперед  Ctrl      все
 Re: Oracle vs MS SQL vs Sybase  [new]
interesting
Guest
Yo.!
YuraIII,

Oracle vs MSSQL: http://triffids.googlepages.com/oraclevsyukon





автор


В Microsoft сервере отсутсвуют многие типы индексов, которые доступны в Оракле, что занчительно влияет на планы запросов и может в некоторых случаях дать преимущество оптимизатору Оракла на порядок:


Интересно , а исходя из каких критеривев крутости (преймущественности) в список попал этот пункт ?

автор

.......
Reverse key indexes Yes / No
....


ИМХО эта фича - мягкая резиновая ручка на грабли.
26 фев 10, 13:02    [8397762]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
interesting
Guest
Hint - index range scan.

Что бы дать понять, что я в теме.
26 фев 10, 13:13    [8397856]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
Yo.!
Guest
interesting
Hint - index range scan.

Что бы дать понять, что я в теме.

неа
мимо темы:
Reverse Key Indexes
Many database tables have primary or unique keys based on a sequence. These keys are usually indexed by b-tree indexes which, by nature, store the indexed values in order. This behavior of sequential storage gives this type of index the name of “monotonic” or “right-growing” index. These types of indexes can become performance bottlenecks on high-volume transactional systems because of serialization that occurs when inserting values into the leaf-blocks of these indexes.

To avoid this serialization, reverse-key indexes can be used. A reverse-key index stores indexed values in reverse-bit order. So, where the values (234, 235, 236) are stored sequentially and contiguously in a normal b-tree index, they are stored out of sequence and non-adjacent (236, 234, 235) for the reverse-key index (see Table 2-3). Over a larger set, this reversing of the key distributes the indexed values across the leaf-node blocks of the index, thereby eliminating the serialization on sequential inserts.
26 фев 10, 13:46    [8398154]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
interesting
Guest
Yo.!
interesting
Hint - index range scan.

Что бы дать понять, что я в теме.

неа
мимо темы:




Уверены ?



Reverse Key Indexes


Over a larger set, this
reversing of the key distributes the indexed values across the leaf-node blocks of the index, thereby eliminating the serialization on sequential inserts.




Прошу прокоментировать
http://richardfoote.wordpress.com/category/reverse-key-indexes/

автор

The net result of using this suggested strategy is not good.

1) Oracle ignores the Reverse Key Index anyways as a LIKE ‘EIWOB%’ is a range predicate
2) Oracle therefore performs a [u]Full Table Scan anyways[/u]
3) As the query is effectively searching for all records that start with ‘EIWOB’, not as expected all records that end with ‘BOWIE’, the two queries in the example will actually return completely different results


В контексте заявления и ответить на поставленный ранее вопрос
:)
26 фев 10, 14:42    [8398735]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Yo.!
locky

можно - только на нужное поле

гы, а вот так в оракле нельзя.

Это печально. (С)
т.е. в данном конкретном случае FBI есть способ изобретательно выйти из затруднения, в которое другие даже не попадают.

Что, собственно, не умаляет прочих достоинств FBI.
26 фев 10, 14:48    [8398775]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
interesting
Guest
Yo.!

Over a larger set, this reversing of the key distributes the indexed values across the leaf-node blocks of the index, thereby eliminating the serialization on sequential inserts.
[/quot]

Суть проблемы с index range scan
содержится в приведенной Вами цитате.

А про оптимайзер в контексте index range scan можно по ссылке почитать.
26 фев 10, 15:06    [8398963]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
Le Peace
Member

Откуда: Москва
Сообщений: 8969
Yo.!

неа - деньги. если к каждому полю где у меня upper() индекс висит пришлось бы дублировать поле я бы в 4гб XE редакции бы не влез.

А upper() индекс места не занимает?
26 фев 10, 15:49    [8399448]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Le Peace
Yo.!

неа - деньги. если к каждому полю где у меня upper() индекс висит пришлось бы дублировать поле я бы в 4гб XE редакции бы не влез.

А upper() индекс места не занимает?

Занимает
но в случае с индексом по вычисляемой колонкой - место еще под колонку нужно

правда, в скуле то в данном случае FBI нафиг не нужен... ;)
26 фев 10, 16:35    [8399956]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
Le Peace
Member

Откуда: Москва
Сообщений: 8969
locky,

ага, врубился.
26 фев 10, 18:41    [8400826]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
Yo.!
Guest
interesting

Суть проблемы с index range scan
содержится в приведенной Вами цитате.

попытка наковырять недостатки зачетная но не совсем понятно, что оно меняет в плане наличия отсутствия такого индекса в мсскл. да, чудо лекарством от всех болезней оно не станет, при like конечно же начнет фулсканить, но по строгому соответствию достанет именно по index range scan реверсного индекса.

interesting

Интересно , а исходя из каких критеривев крутости (преймущественности) в список попал этот пункт ?

я ответил на поставленный вопрос ?
27 фев 10, 19:29    [8406112]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
aZm
Member

Откуда: 3й рим
Сообщений: 2355
MasterZiv

YuraIII wrote:

> B-tree indexes Yes / Yes
> B-tree cluster indexes Yes / No
> Hash cluster indexes Yes / No
> Reverse key indexes Yes / No
> Bitmap indexes Yes / No
> Bitmap join indexes Yes / No
> Function-based indexes Yes / No
> Domain indexes Yes / No
> Index-organized tables Yes / Yes (clustered tables)

Я из вышеперечисленного понимаю только Bitmap indexes
и Hash indexes. Bitmap indexes вообще никому
нахрен не нужны по большому счёту. Hash - ну, без них
можно жить. Так что это -- всего лишь бла-бла-бла,
дешёвый маркетинг, и дурацкое фалломерение, не более.
Все субд более-менее одинаковы, и выбор их лежит
не в плоскости технологии.


bitmap и bitmap join - очень даже вкусные фичи, но не для олтп задач, офк.
function based - нужны в спецфичных случаях, но если уж нужны - прирост в производительности будет зачетный.
IOT - тоже штука крайне спецфичная, не на каждый день.

остальное (кроме btree стандартных) - не пользовал.
1 мар 10, 15:16    [8412585]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

aZm wrote:

> bitmap и bitmap join - очень даже вкусные фичи, но не для олтп задач, офк.

Вот именно. А не для OLTP нужны всё равно более специальные СУБД.

Posted via ActualForum NNTP Server 1.4

2 мар 10, 12:07    [8417177]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
aZm
Member

Откуда: 3й рим
Сообщений: 2355
MasterZiv

aZm wrote:

> bitmap и bitmap join - очень даже вкусные фичи, но не для олтп задач, офк.

Вот именно. А не для OLTP нужны всё равно более специальные СУБД.


кто тебе такое сказал? у нас 10 теровое хранилище, тьфу-тьфу, одним ораклом сыто :)
2 мар 10, 17:37    [8420091]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
interesting
Guest
Yo.!


попытка наковырять недостатки зачетная но не совсем понятно, что оно меняет в плане наличия отсутствия такого индекса в мсскл. да, чудо лекарством от всех болезней оно не станет, .....


Не сочтите за буквоедство

автор

В Microsoft сервере отсутсвуют многие типы индексов, которые доступны в Оракле, что занчительно влияет на планы запросов и может в некоторых случаях дать преимущество оптимизатору Оракла на порядок



ИМХО Присутствие Reverse key indexes не совсем соответствует цитате,

Ваше заключение было бы полностью правдиво , если бы в списке небыло Reverse key indexes.

Если смотреть в суть проблемы, то фича появилось
как затычка архитектурной проблемы ограниченного количества
слотов транзакций в блоке данных. И никаких супер бенифитов не предоставляет.
4 мар 10, 11:44    [8429425]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
interesting
Guest
поправлюсь , что бы присечь инсинуации.

Не количеством, как таковым,
а самим фактом наличия слотов транзакций
в блоках данных и индексов и логикой работы с ними.
4 мар 10, 11:59    [8429578]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
interesting
поправлюсь , что бы присечь инсинуации.

Не количеством, как таковым,
а самим фактом наличия слотов транзакций
в блоках данных и индексов и логикой работы с ними.


который, в отличии от затычки, таки представляет определенные бенефиты.
4 мар 10, 12:12    [8429723]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
interesting
Guest
Gluk (Kazan)
interesting
поправлюсь , что бы присечь инсинуации.

Не количеством, как таковым,
а самим фактом наличия слотов транзакций
в блоках данных и индексов и логикой работы с ними.


который, в отличии от затычки, таки представляет определенные бенефиты.


Не совсем понял, что вы имеете ввиду , сказав который?

Слоты транзакций?
Так это аналог блокировок в других СУБД.
Конечно предостваляет контроль и управление транзакционной целостностью данных.

Любое архитектурное решение имеет свои достоинства и недостатки.
А попытка показать недостаки как достоинства - маркетинговый булшит.

Я не говорю, что в других сабжевых СУБД нет похожих недостатков, они просто другие, потому что у
них архитектура другая.
4 мар 10, 12:35    [8429970]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
Yo.!
Guest
interesting

Не количеством, как таковым,
а самим фактом наличия слотов транзакций
в блоках данных и индексов и логикой работы с ними.


атрибуты транзакции в блоке данных то тут каким боком ? перечитайте мою цитату из доки, ва куда понесло совсем не туда.

interesting
ИМХО Присутствие Reverse key indexes не совсем соответствует цитате,


а вот эту конструктивней, подправлю. за одно можно показать какой бенефит кластерный индекс дает, помнится я pkarklin показывал.
4 мар 10, 12:47    [8430093]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
interesting
Guest
Yo.!


атрибуты транзакции в блоке данных то тут каким боком ? перечитайте мою цитату из доки, ва куда понесло совсем не туда.



Имелось ввиду , не сами атрибуты, а их количество на блок
относительно количества строк ( ключей) в блоке и
конкуренция за доступ к слотам.
4 мар 10, 12:55    [8430183]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
Yo.!
Guest
interesting

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

атрибуты чего ? транзакции - бред, нет в индексе никаких атрибутов транзакции.
конкуренция за leaf блок происходит в любой субд.
4 мар 10, 12:59    [8430223]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
interesting
Guest
Yo.!

нет в индексе никаких атрибутов транзакции.



Вы хотите сказать что при изменении ( добавлении ) ключа в индексном блоке
не занимается ( используется) слот транзакций из этого блока ?

Yo.!

конкуренция за leaf блок происходит в любой субд.


Еще раз
interesting

Я не говорю, что в других сабжевых СУБД нет похожих недостатков, они просто другие, потому что у
них архитектура другая.
4 мар 10, 13:20    [8430414]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
interesting

Конечно предостваляет контроль и управление транзакционной целостностью данных.


который - факт :)

Скорее позволяет не держать блокировки в оперативной памяти.
По поводу достоинств/недостатков архитектур согласен
4 мар 10, 14:06    [8430823]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
Yo.!
Guest
interesting

Вы хотите сказать что при изменении ( добавлении ) ключа в индексном блоке
не занимается ( используется) слот транзакций из этого блока ?

нет кончено, откуда же ему взяться в блоках индекса, атрибуты транзакции в блоке данных, а не индекса хранятся.

interesting
Еще раз

вы еще раз повторили глупость, разберитесь в структуре блока индекса и данных и возвращайтесь с новым тезисом ;)
4 мар 10, 14:13    [8430875]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
interesting
Guest
Yo.!


разберитесь в структуре блока индекса и данных и возвращайтесь с новым тезисом ;)





Я сходу не нашнл отличий в заголовке блока индекса и данных .


Может конкретную ссылку дать ?

Yo.!


нет кончено, откуда же ему взяться в блоках индекса, атрибуты транзакции в блоке данных, а не индекса хранятся.



Давайте поступим по другому,

Вы подумаете и расскажете ( аргументируете) зачем
в create index имеются INITRANS MAXTRANS параметры,
а потом продолжим разговор.

ссылка для размышлений :

http://www.databases-la.com/?q=node/71

автор

Each server transaction needs one transaction entry in the index block header before
it can make changes to a block.


Если Ваша аргументация будет убедительна , пойду искать новые тезисы :)
4 мар 10, 16:20    [8432127]     Ответить | Цитировать Сообщить модератору
 Re: Oracle vs MS SQL vs Sybase  [new]
Yo.!
Guest
ок, убедил. с ITL в блоках индекса я слунил.
но всетаки возвращаемся к
interesting

Если смотреть в суть проблемы, то фича появилось
как затычка архитектурной проблемы ограниченного количества
слотов транзакций в блоке данных.

в реальности у индекса не произойдет ограничения, если в блоке не хватает места под ITL этот блок индекса просто разбивается на два. в свою очередь мсскл при привышении кол-ва блокировок проэскалирует блокировки до блокировки всей таблицы.
4 мар 10, 17:25    [8432722]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6 7 8   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить