Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: сравнение фич SS2008 и DB2 LUW  [new]
I_love_MSDN
Member

Откуда: ПМ с 35 летним стажем программирования
Сообщений: 407
Ну у них сайт тот еще. Мне не встречался человек, который бы сказал, что ibm.com удобен.
-Абсолют'ный
-посковый робот по MSDN для
-ленивых
18 мар 09, 18:01    [6945292]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
Favn
Member

Откуда:
Сообщений: 585
Да, что касается сравнения "однотипных" редакций.

1. Бесплатная, без ограничения по размеру и с мин. ограничением по фичам (не считая Enterprise - практически только без HA и Replication) DB2 Express-C. Работает на бесплатных ОС. Можно свободно распространять.
2. Бесплатная в нужной широкой общественности части Data Studio (платны только pureSQL, кот. только для Java и за деньги на сервере, да "полезный" XQuery builder) для разработки всего, в т.ч. под Web Services.
3. Нативная интеграция с кучей бесплатных app-серверов от IBM WebSphere Community (J2EE) до всяких PHP и perl.

Для "систем под ключ на продажу" - вариант вообще уникальный, полная халява, и сравнить-то не с чем. И "запорожцем" это ну ни как не назовешь.
18 мар 09, 18:26    [6945486]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
Favn
Member

Откуда:
Сообщений: 585
Зайцев Фёдор
мне как неспециалисту по DB2 очень трудно сравнивать её с чем-либо.
отчасти это связано с документацией, которую я не знаю, как добыть.
честно говоря, зайдя на сайт IBM, почти невозможно установить, что
1) IBM продаёт DB2
2) DB2 вообще сууществует
Да уж, маркетинг - самое слабое место IBM. Может потому, что слишком много продуктов. Или просто слишком большая компания.
Докуметация online. Документация в pdf.
18 мар 09, 18:35    [6945522]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
AAron
Member

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

да как-то все равно... не запорожец, так фольксваген жук... тех же годов.
например, нет партицирования таблиц, ограничения по памяти - 2ГБ, MQT нет, репликации нет, компрессия покупается как аддор, партицирование БД между нодами (Database Partitioning) не поддерживается

насчет стоимости - еще раз, 2-3 года подписки стоят столько же, сколько SQL Server 2008 SE с парой десятков пользователей. так что разницы здесь - нет.

предлагаю сравнить DB2 Workgroup / DB2 Enterprise с аналогичными SQL Server SE / EE.
В общем, сходу я не вижу преимуществ в функциях. вообще, таблица сравнивает версии DB2. аналогичное сравнение редакций SQL Server есть например здесь
18 мар 09, 22:27    [6946235]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
Абсолют
Member

Откуда:
Сообщений: 2128
Блог
А SQL Server ограничения? 4Гб база? У экспрессовского?
18 мар 09, 22:30    [6946247]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
db2man
Member

Откуда:
Сообщений: 109
AAron

например, нет партицирования таблиц, ограничения по памяти - 2ГБ, MQT нет, репликации нет, компрессия покупается как аддор, партицирование БД между нодами (Database Partitioning) не поддерживается

"ачуметь!"(c)

А "ключи от квартиры, где деньги лежат" не надо поставлять вместе с DB2 Express-C ???
Вот ведь гады айбиэмские, ну никак не хотят ентерпрайзовые фичи нахаляву раздавать. Сволочи, однозначно.

Если и дальше будут подобные "аргументы", то смысла в дискусси 0
19 мар 09, 08:37    [6946867]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
AAron
Member

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

очередной треп.
я преложил выбрать редакции, которые уместно сравнивать. на что получил табличку с IBM со сравнением возможностей всех редакций за исключением EEE. все выводы - на ее основе. если они не корректны - прокомментируйте.
19 мар 09, 11:47    [6947961]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
db2man
Member

Откуда:
Сообщений: 109
AAron

очередной треп.

Не треп, а сарказм на очевидную глупость
Или Вы будете утверждать, что отцитированная мной Ваша фраза не относится к DB2 Express-C ?
AAron

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

Ecли у Вас такая короткая память, то перечитайте первую страницу, где :
1. Вы предложили "спарринг"
2. Вам на него ответил Favn.
3. pkarklin привел ссылку на "исследование" от Microsoft и предложил Favn'у его откомментиовать
4. Предлагаемое сравнение было любезно Favn'ом сделано и В ДОПОЛНЕНИЕ была приведена ссылка на описание DB2 editions для тех, кто испытывает трудности с поиском инфы на ibm.com

А дальше на белом запорожце/жуке коне выезжаете Вы и начинате компаризить слонов с муравьями.

P.S. Видимо конструктива в очередной раз не получится, а жаль.
19 мар 09, 14:46    [6949556]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
I_love_MSDN
Member

Откуда: ПМ с 35 летним стажем программирования
Сообщений: 407
Тут по сути не может быть конструктивного разговора. Всегда кто-нибудь да будет тянуть одеяло на себя.
-Абсолют'ный
-посковый робот по MSDN для
-ленивых
19 мар 09, 15:03    [6949716]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
Отвечаю на ...
db2man
очередной треп.
А дальше на белом запорожце/жуке коне выезжаете Вы и начинате компаризить слонов с муравьями.

P.S. Видимо конструктива в очередной раз не получится, а жаль.


Я предлагал выбрать версию:
AAron
По этой причине, давайте определимся с версией DB2, с которой проводится сравнение. Скачки то в сторону Express-C, то в версии под z/OS приносят мало пользы.
ну так укажите, что хотите сравнить? бесплатность DB2 Express-C? но это не критерий данного сравнения, он имеет отношение к сравнению маркетинга, а не фич СУБД.
На мой взгляд DB2 WG, DB2 E имеют шансы на сравнение с SQL Server SE/EE.

Напомню, показанная табличка с версиями DB2, на основании которой делались выводы, расположена здесь

Мне тоже жаль, что все аргументы опять выливаются в "сам дурак", "зато в DB2 Express-C бесплатно" и "а что вы хотели от бесплатной СУБД".
19 мар 09, 15:18    [6949870]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
Favn
Member

Откуда:
Сообщений: 585
AAron
Мне тоже жаль, что все аргументы опять выливаются в "сам дурак", "зато в DB2 Express-C бесплатно" и "а что вы хотели от бесплатной СУБД".
Само наличие полноценной, свежей и полностью совместимой по функционалу (камень в огород Оракл :) ) бесплатной версии - само по себе большое преимущество.
Кстати, сравнивая цену, не забывайте и про немалую стоимость WinServer (на Prof СУБД не поставишь из-за ограничений на 10 коннектов), которую можно съэкономить под DB2-Linux.
19 мар 09, 19:05    [6951611]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
Favn
Member

Откуда:
Сообщений: 585
Попробую по существу на основании устаревшего документа. Речь там идет о DB2 v8.2 и MS SQL 2000 (а так же Oracle 10g, но про него опускаю), так что просьба поправить, если что уже изменилось. Итак, преимущества DB2:

1. Индексация - в DB2 больше вариантов, индексы SS не поддерживают (-вали?) backward scans. Кроме того, в индексы DB2 можно добавлять поля, не используемые в сортировке, но хранящиеся в индексе, что позволяет исключить лишние обращения к собственно записи.

DB2 allows the creation of various types of B-tree indexes. DB2 can
also generate bitmap indexes 'on the fly' as required for index ANDing and ORing during query
execution. DB2's B-tree indexes can support simultaneous forward and backward scans, and can
contain additional data columns in the key in order to avoid accessing the data for query
processing. These indexes can be record-based, mapping keys to individual records, or blockbased,
mapping keys to extents of clustered data.

SQL Server stores all indexes as b-trees, but has no support of backward cursors
and does not support generation of other types “on the fly”.

2. row-level security - кажется, в SS до сих пор ее нет.
По крайней мере, я в MSDN так и не нашел - попадаются только внешние костыли на SP-UDF.

3. Реорганизация таблиц - SS on-line не поддерживает, хотя поддерживает кластерные индексы. Кроме того, в DB2 есть фича multi-dimensional clustering, позволяющая использовать многомерную оптимизацию физ. размещения записей при партиционировании.

There are advantages for DB2 because of its in-place table reorganization utility that minimizes disk
space allocation, the multi-dimensional clustering (MDC) tables that never need reorganizing to
maintain data clustering and the previously mentioned “throttling”-feature that applies here as well.

There is no explicit utility for table reorganization in SQL Server – the drop and (re-)create of the
clustered index defragments the data pages. During this process the table is locked and therefore
unavailable.
19 мар 09, 19:23    [6951657]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
Favn
Member

Откуда:
Сообщений: 585
Теперь вспомню, что я проектировщик, разработчик, а совсем не DBA, хотя и учился админству DB2 LUW. Так что со своей колокольни, пока по тому же документу:

1. DB2 поддерживает широчайший спектр технологий, как от MS, так и стандартных ;) Так, для MS-среды есть 3 родных драйвера (ODBC, ADO, .Net provider), 3 для Java (type2, type4, SQLJ), 2 для PHP.
А у SS практически отсутствует поддержка не-MS технологий, причем даже Java, не говоря уже о всяких PHP, поддерживается через убогий ODBC-мост, без родных драйверов.
Забавно, что DB2 интегрируется в MS-среду практически не хуже SS, даже в Visual Studio через бесплатный Add-on. А самое смешное, что полная поддержка .Net, например возможность написать SP на Visual Basic под CLR, появилась в DB2 раньше

"DB2 is the only DBMS that supports true static SQL. While Oracle provides
similar support for OLE DB, MS ADO, C/C++ and Java, both CLR-compliance and some classic
(Cobol, Fortran) options found in DB2 are missing. Both provide JDBC Type 2 and 4 drivers in
support of JDBC 3.0 features that are JDK 1.4 compliant. SQL Server, however, is exclusively
focused on Microsoft AD paradigms."


2. В SS нет объектно-реляционных расширений. В DB2 главная их вкусность не в описании типов/перегрузке функций, а в определении функций обработки их содержащих BLOB'ов и даже в создании своих способов индексации, с возможностью их использования стандартным оптимизатором. Кстати, что text и spatial в SS появились, я понял, а как насчет image/audio/video?

"DB2 and Oracle both offer a wide range of object/relational extensions including stored
procedures, user-defined data types and user-defined functions in support of strong typing,
inheritance and method overload. These extensions can be used for O/R application development.
They are also the building blocks for complex data type extensions (e.g. for text, audio, video,
spatial, etc.) that can be “plugged” in to the database engine. SQL Server does not offer
integrated object-relational features, although storage of unstructured data is possible with BLOB
and image data types.

DB2 and Oracle both offer a wide range of object/relational extensions including stored
procedures, user-defined data types and user-defined functions in support of strong typing,
inheritance and method overload. These extensions can be used for O/R application development.
They are also the building blocks for complex data type extensions (e.g. for text, audio, video,
spatial, etc.) that can be “plugged” in to the database engine. SQL Server does not offer
integrated object-relational features, although storage of unstructured data is possible with BLOB
and image data types.
Both DB2 and Oracle offer a set of pre-defined extensions addressing similar requirements:
DB2’s video, audio and image extender and Oracle’s InterMedia cartridge.
Extender and data cartridge technology opens a market for 3rd party
extensions – we have seen a variety of available extenders, including currency, encryption,
security and optical products.
When developing extensions, it is important to provide clues to the database optimizer in order to
enable correct decisions for optimized extension access. Both DB2 and Oracle provide
mechanisms to do this."
19 мар 09, 19:44    [6951687]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
Favn
Member

Откуда:
Сообщений: 585
Теперь от себя, как разработчика:

3. Static SQL. Позволяет включать SQL прямо в текст программы и обрабатывать прекомпилером. При этом сам SQL из тексте программы исчезает и помещается в "package" в БД. Преимущества:
- выше безопасность - подсмотреть/подменить SQL даже в отладчике не получится.
- можно запретить юзеру вообще работать с БД, только запускать программу с этим package.
- можно спокойно использовать высшие "медленные" уровни оптимизации - оптимизация произойдет, когда скажешь, а не динамически в моемнт потенциально высокой нагрузки. Реоптимизация настраивается. То же возможно и в Java (native SLQJ).
4. Часто используемые динамические запросы тоже можно превращать в static package, перенося затраты на их оптимизацию на время низкой загрузки или после массированных изменений.
5. SP на процедурном SQL PL также превращаются в package, и после этого выполняются самим движком SQL без переключения контекста. Думаю, что в интерпретируемом Transact-SQL процедурная часть и запросы выполняются (как и в Оракл) разными модулями.
А UDF на SQL PL в DB2 вообще не выполняются :) Они in-line подставляются в вызвавший их запрос и переписываются-оптимизируются в месте с ним.
6. Оптимизатор настолько суров, что не использует хинты - задается только 1 из 10 уровней оптимизации. В принципе, внешняя возможность хинтов есть, но они описываются не в запросе, а админом во внешнем файле, и разработчику незачем ими заморачиваться - это в общем-то "аварийная" техника.
7. Не знаю есть ли в SS аналог такой фичи - SP и UDF на C++ могут быть "unfenced", т.е. работать с буферами данных из адресного пространства сервера, без переключения контекста.

Ну и самое важное отличие - возможность выбора любой ОС, программного окружения, средств разработки, серверного железа. Без привязки к одному "единственному и неповторимому" вендору.
Фуф. Хватит на сегодня :)
19 мар 09, 20:14    [6951754]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
Favn
Попробую по существу на основании устаревшего документа. Речь там идет о DB2 v8.2 и MS SQL 2000 (а так же Oracle 10g, но про него опускаю), так что просьба поправить, если что уже изменилось. Итак, преимущества DB2:

1. Индексация - в DB2 больше вариантов, индексы SS не поддерживают (-вали?) backward scans. Кроме того, в индексы DB2 можно добавлять поля, не используемые в сортировке, но хранящиеся в индексе, что позволяет исключить лишние обращения к собственно записи.

2. row-level security - кажется, в SS до сих пор ее нет.
По крайней мере, я в MSDN так и не нашел - попадаются только внешние костыли на SP-UDF.

3. Реорганизация таблиц - SS on-line не поддерживает, хотя поддерживает кластерные индексы. Кроме того, в DB2 есть фича multi-dimensional clustering, позволяющая использовать многомерную оптимизацию физ. размещения записей при партиционировании.

сравнивать в 2009 году версии 2000 года - имхо неправильно

1. как я понимаю, индекс один, но может сканироваться в разных направлениях? такого нет. можно создать два индекса с разными направлениями, но это несколько другое. в версии 2005+ индекс может хранить не только индексируемые поля, но и дополнительные для исключения дополнительных обращений к таблицам. в 2009 на индекс дополнительно можно наложить условие фильтрации
2. честно, не в курсе.
3. насчет реорганизации - есть команды dbcc, они позволяют дефрагментировать индекс/таблицу.
19 мар 09, 21:32    [6951867]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
Favn
Теперь вспомню, что я проектировщик, разработчик, а совсем не DBA, хотя и учился админству DB2 LUW. Так что со своей колокольни, пока по тому же документу:

1. DB2 поддерживает широчайший спектр технологий, как от MS, так и стандартных ;) Так, для MS-среды есть 3 родных драйвера (ODBC, ADO, .Net provider), 3 для Java (type2, type4, SQLJ), 2 для PHP.
А у SS практически отсутствует поддержка не-MS технологий, причем даже Java, не говоря уже о всяких PHP, поддерживается через убогий ODBC-мост, без родных драйверов.
Забавно, что DB2 интегрируется в MS-среду практически не хуже SS, даже в Visual Studio через бесплатный Add-on. А самое смешное, что полная поддержка .Net, например возможность написать SP на Visual Basic под CLR, появилась в DB2 раньше

"DB2 is the only DBMS that supports true static SQL. While Oracle provides
similar support for OLE DB, MS ADO, C/C++ and Java, both CLR-compliance and some classic
(Cobol, Fortran) options found in DB2 are missing. Both provide JDBC Type 2 and 4 drivers in
support of JDBC 3.0 features that are JDK 1.4 compliant. SQL Server, however, is exclusively
focused on Microsoft AD paradigms."


2. В SS нет объектно-реляционных расширений. В DB2 главная их вкусность не в описании типов/перегрузке функций, а в определении функций обработки их содержащих BLOB'ов и даже в создании своих способов индексации, с возможностью их использования стандартным оптимизатором. Кстати, что text и spatial в SS появились, я понял, а как насчет image/audio/video?

"DB2 and Oracle both offer a wide range of object/relational extensions including stored
procedures, user-defined data types and user-defined functions in support of strong typing,
inheritance and method overload. These extensions can be used for O/R application development.
They are also the building blocks for complex data type extensions (e.g. for text, audio, video,
spatial, etc.) that can be “plugged” in to the database engine. SQL Server does not offer
integrated object-relational features, although storage of unstructured data is possible with BLOB
and image data types.

DB2 and Oracle both offer a wide range of object/relational extensions including stored
procedures, user-defined data types and user-defined functions in support of strong typing,
inheritance and method overload. These extensions can be used for O/R application development.
They are also the building blocks for complex data type extensions (e.g. for text, audio, video,
spatial, etc.) that can be “plugged” in to the database engine. SQL Server does not offer
integrated object-relational features, although storage of unstructured data is possible with BLOB
and image data types.
Both DB2 and Oracle offer a set of pre-defined extensions addressing similar requirements:
DB2’s video, audio and image extender and Oracle’s InterMedia cartridge.
Extender and data cartridge technology opens a market for 3rd party
extensions – we have seen a variety of available extenders, including currency, encryption,
security and optical products.
When developing extensions, it is important to provide clues to the database optimizer in order to
enable correct decisions for optimized extension access. Both DB2 and Oracle provide
mechanisms to do this."


1. странно требовать от VC драйвера AIX или z/OS. кстати, в Feature Pack есть драйвера для рнр и жавы.

2. можно создавать CLR-типы данных, но в TSQL объектности действительно нет. Можно создавать CLR-функции/процедуры, используя там ООП. поля clr-типов можно индексировать стандартными механизмами. насчет video/audio - честно, не представляю, как можно на языке SQL работать с такими данными, а главное - зачем.
19 мар 09, 21:41    [6951880]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
AAron
1. странно требовать от VC драйвера AIX или z/OS. кстати, в Feature Pack есть драйвера для рнр и жавы.

читать как от MS.
19 мар 09, 21:42    [6951881]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
Favn
Теперь от себя, как разработчика:

3. Static SQL. Позволяет включать SQL прямо в текст программы и обрабатывать прекомпилером. При этом сам SQL из тексте программы исчезает и помещается в "package" в БД. Преимущества:
- выше безопасность - подсмотреть/подменить SQL даже в отладчике не получится.
- можно запретить юзеру вообще работать с БД, только запускать программу с этим package.
- можно спокойно использовать высшие "медленные" уровни оптимизации - оптимизация произойдет, когда скажешь, а не динамически в моемнт потенциально высокой нагрузки. Реоптимизация настраивается. То же возможно и в Java (native SLQJ).
4. Часто используемые динамические запросы тоже можно превращать в static package, перенося затраты на их оптимизацию на время низкой загрузки или после массированных изменений.
5. SP на процедурном SQL PL также превращаются в package, и после этого выполняются самим движком SQL без переключения контекста. Думаю, что в интерпретируемом Transact-SQL процедурная часть и запросы выполняются (как и в Оракл) разными модулями.
А UDF на SQL PL в DB2 вообще не выполняются :) Они in-line подставляются в вызвавший их запрос и переписываются-оптимизируются в месте с ним.
6. Оптимизатор настолько суров, что не использует хинты - задается только 1 из 10 уровней оптимизации. В принципе, внешняя возможность хинтов есть, но они описываются не в запросе, а админом во внешнем файле, и разработчику незачем ими заморачиваться - это в общем-то "аварийная" техника.
7. Не знаю есть ли в SS аналог такой фичи - SP и UDF на C++ могут быть "unfenced", т.е. работать с буферами данных из адресного пространства сервера, без переключения контекста.

Ну и самое важное отличие - возможность выбора любой ОС, программного окружения, средств разработки, серверного железа. Без привязки к одному "единственному и неповторимому" вендору.
Фуф. Хватит на сегодня :)

3. пакаджей в SS нет, насколько я понимаю, частично описанные здесь возможности решаются через LINQ. могу ошбаться.
4. динамические запросы - по всей видимости мы понимаем разные вещи под динамическими запросами. в моей картине мера динамический запрос "select * from " + @tbl не оптимизируется заранее никак.
5. вообще, при выполнении SP она целиком компилируется (либо план уже берется из кеша). не уверен насчет двух движков
6. SS не столько суров, он позволяет использовать хинты, но в документации написано - на свой страх и риск. кстати, ораклисты приводят большое количество хинтов как плюс
7. SS2000-2008 позволяют писать на С++ процедуры. насчет контекста - не в курсе. ни разу не использовал. предпочитаю использовать SQL.

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

насчет самого важного отличия - есть плюсы и минусы. а сервер СУБД как правило не мигируют с одной ОС на другую по несколько раз в месяц. на моей памяти, ни один оракловый проект не переносился Win <--> Linux <--> *nix. как правило, для серьезных проектов сервер планируют от железа и до СУБД.
19 мар 09, 22:16    [6951928]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
Абсолют
Member

Откуда:
Сообщений: 2128
Блог
Aaron
2. ...Можно создавать CLR-функции/процедуры, используя там ООП...

У нас тоже. И не только CLR ;)
20 мар 09, 00:14    [6952131]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Позволю себе прокомментировать... Почастям...

Favn
1. Индексация - в DB2 больше вариантов, индексы SS не поддерживают (-вали?) backward scans. Кроме того, в индексы DB2 можно добавлять поля, не используемые в сортировке, но хранящиеся в индексе, что позволяет исключить лишние обращения к собственно записи.


Читаем:

DB2 includes the capability for backward index scan. Backward index scan can improve performance of a SELECT statement with an ORDER BY column DESC clause because it reduces the need for DB2 to do sorts. In addition, the backward index scan capability can reduce the need for descending indexes because DB2 can use ascending indexes to scan backward.

Запрос:

SELECT
  *
FROM
  dbo.Object
WHERE
  OwnerObjectID = 960520142000
ORDER BY ID DESC

Реальный план с SS:

StmtText
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|--Nested Loops(Inner Join, OUTER REFERENCES:([data].[dbo].[Object].[ID]))
|--Index Seek(OBJECT:([data].[dbo].[Object].[Object_OwnerObjectID_XIF1]), SEEK:([data].[dbo].[Object].[OwnerObjectID]=(960520142000)) ORDERED BACKWARD)
|--Clustered Index Seek(OBJECT:([data].[dbo].[Object].[Object_ID_XPK]), SEEK:([data].[dbo].[Object].[ID]=[data].[dbo].[Object].[ID]) LOOKUP ORDERED FORWARD)

Так что, хоть вперед\хоть взад. ;) Причем давно.

SS2005-indexes with included columns:

In SQL Server 2005, you can extend the functionality of nonclustered indexes by adding nonkey columns to the leaf level of the nonclustered index. By including nonkey columns, you can create nonclustered indexes that cover more queries.

SS2008 - filtered indexes:

A filtered index is an optimized nonclustered index, especially suited to cover queries that select from a well-defined subset of data. It uses a filter predicate to index a portion of rows in the table. A well-designed filtered index can improve query performance, reduce index maintenance costs, and reduce index storage costs compared with full-table indexes.
20 мар 09, 09:05    [6952479]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
webus
Member

Откуда:
Сообщений: 648
Сравнивать СУБД адекватно можно, если работали одинаковый промежуток времени на обеих СУБД на реальных проектах. На мой взгляд MSSQL2005 не плохой сервер. Как мне раньше казалось. Но последнее время начал сталкиваться с неприятными неожиданностями. К примеру если к одному полю имеем более 253 foreign keys, то при простом delete from users where uid = 60 (учитывая что этот user используется в множестве таблиц, более 500) сервер отказывает... Оптимизатор строит запрос проверки и запрос то очень велик... Странно что эту ошибку и в 2008 не устранили. У DB2 слава богу таких проблем нет.
20 мар 09, 09:57    [6952686]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
webus
Но последнее время начал сталкиваться с неприятными неожиданностями. К примеру если к одному полю имеем более 253 foreign keys


Вот нежданчик так нежданчик :)
Может в консерватории стоит что-то поменять ?
20 мар 09, 10:28    [6952860]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
webus
Member

Откуда:
Сообщений: 648
Gluk (Kazan)

Вот нежданчик так нежданчик :)
Может в консерватории стоит что-то поменять ?


В чем вопрос то ?
Или вам такая ошибка не знакома:
Msg 8621, Level 17, State 2, Line 2
The query processor ran out of stack space during query optimization. Please simplify the query.
При таком запросе:
delete from users where uid = 558

Или может стоит научить SQL Server ругаться, когда количество foreign key привышает допустимый предел ?
20 мар 09, 10:38    [6952955]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
Gluk (Kazan)
Member

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

Или может стоит научить SQL Server ругаться, когда количество foreign key привышает допустимый предел ?


Я конечно возможно не в курсе последних веяний в разработке баз данных, но на мой скромный взгляд, от 200 констрейнтов на одно поле кому угодно поплохеет (интересно, что уж не 1000 ?).
Просто интересно: ЗАЧЕМ ???
20 мар 09, 10:42    [6952986]     Ответить | Цитировать Сообщить модератору
 Re: сравнение фич SS2008 и DB2 LUW  [new]
webus
Member

Откуда:
Сообщений: 648
Gluk (Kazan)
webus

Или может стоит научить SQL Server ругаться, когда количество foreign key привышает допустимый предел ?


Я конечно возможно не в курсе последних веяний в разработке баз данных, но на мой скромный взгляд, от 200 констрейнтов на одно поле кому угодно поплохеет (интересно, что уж не 1000 ?).
Просто интересно: ЗАЧЕМ ???


Если бы я разрабатывал эту БД я бы вам дал ответ. БД разработана компанией разработчиком АБС. Наверное раз так сделали, значит было так нужно. Документов в АБС много, бизнесов тоже. И все эти документы создают пользователи (USERS), и мне кажется совершенно логично что ссылки идут на таблицу USERS.
20 мар 09, 10:44    [6953002]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить