|
|
|
Составной индекс только по определенному значению отдельного поля
|
|||
|---|---|---|---|
|
#18+
Необходимо сделать b-tree индексы типа Код: plsql 1. Но т.к. индексируемые таблицы относит. большие, 10-ки млн записей, то было бы хорошо имхо сделать этот индекс только для записей, у которых например field2 in (2, 3), что уменьшило бы его объем раза в два. Можно написать индекс по функции и для каждого поля индекса прописать Код: plsql 1. 2. 3. 4. 5. 6. Не придумал, но можно ли сделать то же самое, как-то изящнее, не прописывая условие для каждого поля? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2016, 16:48 |
|
||
|
Составной индекс только по определенному значению отдельного поля
|
|||
|---|---|---|---|
|
#18+
На самом деле условия могут быть и сложнее, а не просто field2 in (2,3), а например Код: plsql 1. Возможно, стоит интересующие записи даже просто выносить в отдельную таблицу. Но может есть вариант задать условие для записей, которые надо проиндексировать только один раз? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2016, 16:52 |
|
||
|
Составной индекс только по определенному значению отдельного поля
|
|||
|---|---|---|---|
|
#18+
Avotgeможно ли сделать то же самое, как-то изящнее, не прописывая условие для каждого поля? Партиционированная таблица + локальный индекс. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2016, 16:52 |
|
||
|
Составной индекс только по определенному значению отдельного поля
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovПартиционированная таблица + локальный индекс. Вариант. Но патиционирования у нас нет (плюс именно поэтому итак кучка таблиц, представляющих собой как бы патиции )) Но суть ясна. Можно сделать отдельную таблицу конечно, куда сваливать нужные записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2016, 16:58 |
|
||
|
Составной индекс только по определенному значению отдельного поля
|
|||
|---|---|---|---|
|
#18+
AvotgeНа самом деле условия могут быть и сложнее, а не просто field2 in (2,3), а например Код: plsql 1. Возможно, стоит интересующие записи даже просто выносить в отдельную таблицу. Но может есть вариант задать условие для записей, которые надо проиндексировать только один раз? сложно будет использовать в запросе, ведь формулу надо повторить во where как +1 вариант, сделать матвью и его проиндексировать ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2016, 18:53 |
|
||
|
Составной индекс только по определенному значению отдельного поля
|
|||
|---|---|---|---|
|
#18+
stax..сложно будет использовать в запросе, ведь формулу надо повторить во whereНачиная с 11g легко - виртуальные колонки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 08:19 |
|
||
|
Составной индекс только по определенному значению отдельного поля
|
|||
|---|---|---|---|
|
#18+
Elicstax..сложно будет использовать в запросе, ведь формулу надо повторить во whereНачиная с 11g легко - виртуальные колонки. можно и без виртуальных, добавить в таблицу колонку, заполнять триггером, проиндексировать ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 11:29 |
|
||
|
Составной индекс только по определенному значению отдельного поля
|
|||
|---|---|---|---|
|
#18+
А дальше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 11:36 |
|
||
|
Составной индекс только по определенному значению отдельного поля
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровА дальше? дальше использовать клонки в запросах ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 11:49 |
|
||
|
Составной индекс только по определенному значению отдельного поля
|
|||
|---|---|---|---|
|
#18+
stax..добавить в таблицу колонкуНапрасная трата места ... stax..заполнять триггером... и времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 23:08 |
|
||
|
Составной индекс только по определенному значению отдельного поля
|
|||
|---|---|---|---|
|
#18+
stax..Вячеслав ЛюбомудровА дальше? дальше использовать клонки в запросах ..... staxЦель, напомню, состояла в "что уменьшило бы его объем раза в два" С секционированием (по этой, виртуальной или заполняемой триггером колонке), возможно, это бы и помогло (с 11g UNUSABLE-сегмент индекса не занимает места) Но стоит ли оно того? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2016, 06:17 |
|
||
|
Составной индекс только по определенному значению отдельного поля
|
|||
|---|---|---|---|
|
#18+
Elicstax..добавить в таблицу колонкуНапрасная трата места ... stax..заполнять триггером... и времени. я согласен наскоко помню в древних версиях оракля так и поступал при создании fbi индекса создавал невидимую виртуальную колонку з 11-ки разрешили фичу пользователям ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2016, 16:01 |
|
||
|
Составной индекс только по определенному значению отдельного поля
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудровstax..пропущено... дальше использовать клонки в запросах ..... staxЦель, напомню, состояла в "что уменьшило бы его объем раза в два" С секционированием (по этой, виртуальной или заполняемой триггером колонке), возможно, это бы и помогло (с 11g UNUSABLE-сегмент индекса не занимает места) Но стоит ли оно того? я так понял цели две 1) уменьшить обьем индекса, он и уменьшится за счет null значений 2) удобство, если создавать индекс без использования "віртуальных" колонок, то придется выражение (case) в точности повторять в операторе ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2016, 16:06 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39365871&tid=1886830]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 200ms |
| total: | 341ms |

| 0 / 0 |
