|
|
|
Пустое поле в индексе
|
|||
|---|---|---|---|
|
#18+
Есть партиционная таблица в БД с данными за 10 лет. Среди нескольких индексов в данной таблице есть один индекс с полем,которое перестало содержать данные 2 года назад. Толку от такого индекса в последнее время - 0, хотя он нужен для поиска по старым данным. Данный индекс локальный. В каждой новой партиции он есть. Как оптимизировать индекс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2018, 10:54 |
|
||
|
Пустое поле в индексе
|
|||
|---|---|---|---|
|
#18+
sossisson, А что если индекс пересоздать как функциональный с NVL? Только запрос тоже нужно будет через NVL переписать. Тогда при выборке и из старых и из новых партиций будет использоваться этот индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2018, 11:03 |
|
||
|
Пустое поле в индексе
|
|||
|---|---|---|---|
|
#18+
sossisson, чем он Вам мешает? цель (зачем) оптимизации? ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2018, 11:19 |
|
||
|
Пустое поле в индексе
|
|||
|---|---|---|---|
|
#18+
Stax, Хотелось привести в порядок, но если он никак не влияет на скорость поиска, то можно и так оставить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2018, 11:28 |
|
||
|
Пустое поле в индексе
|
|||
|---|---|---|---|
|
#18+
Если запрос все тот же для новых партиций и по плану индекс используется, то на значениях с null селективность будет никакая и индекс будет только вредить и при вставке и при выборке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2018, 13:05 |
|
||
|
Пустое поле в индексе
|
|||
|---|---|---|---|
|
#18+
sossissonЕсть партиционная таблица в БД с данными за 10 лет. Среди нескольких индексов в данной таблице есть один индекс с полем,которое перестало содержать данные 2 года назад. Толку от такого индекса в последнее время - 0, хотя он нужен для поиска по старым данным. Данный индекс локальный. В каждой новой партиции он есть. Как оптимизировать индекс? В 12.2 появилось такое: Partial Indexes for Partitioned Tables . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2018, 15:12 |
|
||
|
Пустое поле в индексе
|
|||
|---|---|---|---|
|
#18+
AsmodeussossissonЕсть партиционная таблица в БД с данными за 10 лет. Среди нескольких индексов в данной таблице есть один индекс с полем,которое перестало содержать данные 2 года назад. Толку от такого индекса в последнее время - 0, хотя он нужен для поиска по старым данным. Данный индекс локальный. В каждой новой партиции он есть. Как оптимизировать индекс? В 12.2 появилось такое: Partial Indexes for Partitioned Tables .Сорри, рука дрогнула. 12.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2018, 15:12 |
|
||
|
Пустое поле в индексе
|
|||
|---|---|---|---|
|
#18+
Andrew999Если запрос все тот же для новых партиций и по плану индекс используется, то на значениях с null селективность будет никакая и индекс будет только вредить и при вставке и при выборкеВ курсе, что все null-ы в индексе не хранятся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2018, 15:15 |
|
||
|
Пустое поле в индексе
|
|||
|---|---|---|---|
|
#18+
Andrew999Если запрос все тот же для новых партиций и по плану индекс используется, то на значениях с null селективность будет никакая и индекс будет только вредить и при вставке и при выборке 1) если в запросе будет использован индекс, то значит нужных данных из етой партиции нет, и ответ будет получен моментально 2) так как null не хранится, то и вред и при вставке будет минимальный ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2018, 15:31 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39689346&tid=1883588]: |
0ms |
get settings: |
12ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
174ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 512ms |

| 0 / 0 |
