|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Имеется таблица со скажем 1Мио рекордс, и на ету таблицу иногда проиходят запросы вида Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Хочется индекса для оптимизации выборки, но только для выборочных данных, которые удовлетворяют заранее уаказанному условию. strange_table.field0=0 т.е. Индекс для данных, не удовлетворяющих условию, смысла не имеет. Интересует, кто и как хорошо поддерживает такие странности ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 12:50 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Hello, mikron! You wrote on Tue, 13 Jul 10 09:50:47 GMT: mikron m> Интересует, кто и как хорошо поддерживает такие странностисовременная психиатрия. АднАзнАчнА! -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 12:57 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Sql Server 2008 - filtered index ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 12:59 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Oracle FBI ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 13:24 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Gluk (Kazan), Ищется аналог вот такому Код: plaintext 1.
Покажи пожалуста, как это делается с FBI. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 13:39 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
FoxPro Если не ошибаюсь, то с версии 2.0. Это примерно 1990 год. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 13:43 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
mikronGluk (Kazan), Ищется аналог вот такому Код: plaintext 1.
Покажи пожалуста, как это делается с FBI. Ну, практически так в MS SQL^ Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 13:44 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
mikron Покажи пожалуста, как это делается с FBI. case when field0 = 0 then field1 else null end ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 13:49 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
foxpro Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 13:52 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
mikron wrote: > Интересует, кто и как хорошо поддерживает такие странности Вроде бы как в PostgreSQL такое есть. Больше не слыхал. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 16:07 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
MasterZiv, ага ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 16:45 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Мимопроходящий Hello, mikron! You wrote on Tue, 13 Jul 10 09:50:47 GMT: mikron m> Интересует, кто и как хорошо поддерживает такие странностисовременная психиатрия. АднАзнАчнА! -- With best regards, Мимопроходящий. Не нужно судить о людях по себе, а обо всех СУБД по FireBird. Спасибо. В сабж: Терадата поддерживает такие индексы, называется Sparse Join Index Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 18:12 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Le Peacemikron Покажи пожалуста, как это делается с FBI. case when field0 = 0 then field1 else null end И толку от этого для вышеприведенных запросов - ноль. Аналогом такого для данной задачи в Оракле будет только MV. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 18:19 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Apex Аналогом такого для данной задачи в Оракле будет только MV. View - понятно, а материализовать-то его зачем? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 19:05 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Apex Аналогом такого для данной задачи в Оракле будет только MV. View - понятно, а материализовать-то его зачем? Вы что, правда не понимаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 19:53 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Apex Аналогом такого для данной задачи в Оракле будет только MV. View - понятно, а материализовать-то его зачем? Чтобы поиск был быстрее. Например, поиск с предикатом IS NOT NULL или по полю в котором всего два значение. Обычные индексы здесь пасуют. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2010, 19:58 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Senya_LDimitry Sibiryakov Apex Аналогом такого для данной задачи в Оракле будет только MV. View - понятно, а материализовать-то его зачем? Чтобы поиск был быстрее. Например, поиск с предикатом IS NOT NULL или по полю в котором всего два значение. Обычные индексы здесь пасуют. Нет, не для этого. И то, что вы сейчас написали про индексы - не совсем верно, т.к. в определенных ситуациях в Оракле специально под предикат IS NOT NULL создают индекс, который очень эффективен (помним, что Оракл не хранит Null индексе), а для полей с низкой селекивностью существуют Bitmap индексы, которые в определенных ситуациях очень эффективны. MV здесь, для того, чтобы Query Rewrite сработал. От простого View здесь как раз никакого толку, и что там было понятно уважаемому специалисту по одной единственной СУБД - уже непонятно мне. Я вот просто View ну вообще никак к этой задаче не могу приткнуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2010, 12:37 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Apex Я вот просто View ну вообще никак к этой задаче не могу приткнуть. View с union all двух таблиц внутри. На одной нужный индекс есть, на другой нет. Какой смысл в его материализации? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2010, 12:59 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
ApexИ то, что вы сейчас написали про индексы - не совсем верно, т.к. в определенных ситуациях в Оракле специально...Сдается мне, что равенство Код: plaintext
Лично я использовал материализованные вьюхи для двух целей: 1) как средство ускорения запросов в отчетной БД; 2) для ускорения поиска по булеву полю (или другого типа с заведомо низкой селективностью). Что использовал - про то и говорю. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2010, 13:47 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Apex Я вот просто View ну вообще никак к этой задаче не могу приткнуть. View с union all двух таблиц внутри. На одной нужный индекс есть, на другой нет. Какой смысл в его материализации? Угу, а еще лучше сразу все приложение переписать, чтобы не было таких дурацких задач. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2010, 14:10 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Senya_LApexИ то, что вы сейчас написали про индексы - не совсем верно, т.к. в определенных ситуациях в Оракле специально...Сдается мне, что равенство Код: plaintext
Сдается мне, что вы тут все слепые или читать не умеете... ApexLe Peacemikron Покажи пожалуста, как это делается с FBI. case when field0 = 0 then field1 else null end И толку от этого для вышеприведенных запросов - ноль. Аналогом такого для данной задачи в Оракле будет только MV. Отсюда и пошел весь дальнейший разговор про мат.вью. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2010, 14:13 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
На SA10 нашел, что есть поддержка function based индекса. Который по сути делает вычисляемую колонку в таблице и строит по ней индекс. Т.е. вы получаете возможность сделать такой себе бинарный индекс. Код: plaintext 1. 2. 3. 4. 5. 6.
function-name clause The function-name clause creates an index on a function. This clause cannot be used on declared temporary tables or materialized views. This form of the CREATE INDEX statement is a convenience method that carries out the following operations: -Adds a computed column named column-name to the table. The column is defined with a COMPUTE clause that is the specified function, along with any specified arguments. See the COMPUTE clause of the CREATE TABLE statement for restrictions on the type of function that can be specified. The data type of the column is based on the result type of the function. -Populates the computed column for the existing rows in the table. -Creates an index on the column. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2010, 15:03 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Ggg_oldНа SA10 нашел, что есть поддержка function based индекса. Который по сути делает вычисляемую колонку в таблице и строит по ней индекс. Т.е. вы получаете возможность сделать такой себе бинарный индекс. Весело с вам:) Это вообще не решение. т.е. конечно, фукциналынй индекс получили, а первоначалную задачу забыли. 1. Доп.колонка для вычисленных значений требует место в таблице 2. вычисляется для всех знбачений 3. ничем не лутше композитного индекса по (фиелд0, фиелд1) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2010, 15:16 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
мне кажется, что вы не туда копаете. Если вам нужен очень быстрый поиск по ключевому полю, то это обычно достигается партицированием таблицы по этому полю. А что вы хотите добиться от недоиндекса я не понимаю. Индексный поиск сам по себе значительно ускоряет поиск, для чего и предназначен. Функциональный индекс позволит вам бинаризировать все разнообразие входных ключевых величин до двух значений (нужное поле/ненужное поле). Либо еще, (как советовали) стройте вьюху, которая будет содержать только те значения, которые необходимы. В постановке вашей задачи не было ничего про "дополнительное пространство", да и на сегодняшний день дополнительное пространство никого не интересует, 90е годы остались далеко позади. Сам индекс, кстати тоже занимает место. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2010, 16:23 |
|
Какая DBMS поддерживает создание индексов на часть данных?
|
|||
---|---|---|---|
#18+
Ggg_oldмне кажется, что вы не туда копаете. Если вам нужен очень быстрый поиск по ключевому полю, то это обычно достигается партицированием таблицы по этому полю. А что вы хотите добиться от недоиндекса я не понимаю. Индексный поиск сам по себе значительно ускоряет поиск, для чего и предназначен. Функциональный индекс позволит вам бинаризировать все разнообразие входных ключевых величин до двух значений (нужное поле/ненужное поле). Либо еще, (как советовали) стройте вьюху, которая будет содержать только те значения, которые необходимы. В постановке вашей задачи не было ничего про "дополнительное пространство", да и на сегодняшний день дополнительное пространство никого не интересует, 90е годы остались далеко позади. Сам индекс, кстати тоже занимает место. А мне кажется у вас есть большой потенциал для углубления ваших познаний. Я не согласен, или согласен только с оговорками, с каждым вашим утверждением. No comments. Вобще меня интересовало какая DBMS может такие фокусы. Названы были: PostgreSQL, MS SQL 2008, Terradata и прочие, для меня не интересные. Как я писал в самом начале, решение с мат. представлением для Оракл можно условно отнести к разряду допустимых. Тема исчерпана. За сим откланиваюсь и благодарю ответивших. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2010, 16:55 |
|
|
start [/forum/topic.php?fid=35&fpage=16&tid=1552786]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 233ms |
total: | 366ms |
0 / 0 |