|
|
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
Прошу советов по организации индексов в большой (более 2 млрд записей) таблице. 1) создание сжатого индекса повлияет ли на производительность и скорость выборок по этому индексу? Сильно ли замедлиться скорость вставок в таблицу? В день происходит добавление 5 млн новых записей. 2) есть ли смысл создавать составные индексы? или проще создать индексы из одного поля? 3) для каких полей подходят битовые индексы? или в больших таблицах они не используются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 16:14 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
Сначала придумай ответ на вопрос "а для чего тебе индексы" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 16:17 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудров, чтобы создавать такие темы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 16:20 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
123ййчтобы создавать такие темыОднако система не набирает оборотов: за три года ежедневный приход не изменился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 16:29 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
Ну накинулись как коршуны) Меня не устраивает огромность системы. Индексы занимают Тб, таблица тоже разрослась. Бэкап БД делается очень долго, особенно холодный. База уже более 6 ТБ. Вот и хочу малость разгрести, то что было понаделано до этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 16:32 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
Ну так для этого в первую очередь ищутся "мертвые" индексы (если они, конечно, есть) Мониторинг V$OBJECT_USAGE, планов А так, да, каждый индекс -- это геморрой для обновлений, но если он необходим для поиска -- как правило, не надо от него отказываться Ну и некоторые приложения просто сами автоматом достраивают (по их логике) необходимые индексы, например, на внешние ключи, когда тебе, как админу/пользователю ясно, что он не обязателен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 16:45 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
sossissonболее 2 млрд записей) А они точно все нужны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 16:51 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
Скорее вопрос, нужны ли они в одном сегменте Может быть есть смысл секционировать табличку и старье убрать в ReadOnly А вообще, сейчас такими объемами никого не удивишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 16:54 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровМониторинг V$OBJECT_USAGEАга, только перед этим не забыть залочить статистику ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 16:59 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
env, Да, записи все нужны. Босс говорит, что вдруг понадобятся. У меня была идея разделит таблицу на две: за прошлые года (архивную) и текущую в разных таблицных пространствах. Для архивного хранения пространство поставить только на read only. Архивную сделать сжатой и индексы по ней тоже. Их текущей после завершения года данные переливать в архивную и пересоздавать ткущую базу и индексы. Две таблицы объединить через вьюху и делать селекты по ней. Такой вариант практикуется? Или слишком заморочено и толку не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 17:01 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
В смысле, сбор статистики? Возможно Таки интересней представляется анализ планов Или col_usage$ (по памяти) Только все это ломается, когда этот индекс нужен раз в месяц, но уж "нужен позарез" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 17:04 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
sossissonenv, Да, записи все нужны. Босс говорит, что вдруг понадобятся. У меня была идея разделит таблицу на две: за прошлые года (архивную) и текущую в разных таблицных пространствах. Для архивного хранения пространство поставить только на read only. Архивную сделать сжатой и индексы по ней тоже. Их текущей после завершения года данные переливать в архивную и пересоздавать ткущую базу и индексы. Две таблицы объединить через вьюху и делать селекты по ней. Такой вариант практикуется? Или слишком заморочено и толку не будет?Тут лучше уже EE -- там все это можно, секционирование, сжатие исторических данных и т.д. Для Standard Edition -- вариант через вьюху, не самый лучший, но, в принципе, существует много лет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 17:07 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
Elic123ййчтобы создавать такие темыОднако система не набирает оборотов: за три года ежедневный приход не изменился.Так после пяти лямов же ступор. Наверное договорились с заказчиком скипать все остальное. sossissonДве таблицы объединить через вьюху и делать селекты по ней.Про секционирование не слышал? Или у вас миллиарды строк и лимитыд стандарт эдишн? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 17:08 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, Слышали, не лаптями щи хлебаем. Партиция с локальными индексами хорошо данные вставляет только когда новая, но через месяц-другой скорость замедляется. Не понятно, есть ли какое-нибудь ограничение или рекомендации на сколько партиций можно разбивать таблицу или хоть на каждый день партицую можно создать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 17:14 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
sossisson, В Качестве експеримента можно часть данных на другой сервер перенести и через дб-линк и вью. Если это такой солюшен устроит, то проблема с фулл бэкапом будет решена) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 17:18 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
sossissonхоть на каждый день партицую можно создать?Ты не поверишь, многие так и делают. И даже + sub-partitioning внутри дня. Про лимиты - Maximum number of partitions . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 17:26 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
sossisson, делал автоматом новую партицию каждые 10 сек и partition exchange со смещением в 1 партицию. Работает как глухонемая прачка 1,5 года. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 20:09 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
Vladimir Filinsossisson, делал автоматом новую партицию каждые 10 сек и partition exchange со смещением в 1 партицию. Работает как глухонемая прачка 1,5 года.А можно узнать детали этого великолепного решения? Число одновеременных сессий/потоков, объемы данных, особенности логики, и главное "нахрена"? В Оракле крайне плохо дружат одновеременные DDL and DML на секционированных таблицах. Код: plaintext 1. В свое время делали inhouse-partitioning и там приходилось очень хорошо дорабатывать напильником, чтоб все работало как надо в конкурентной среде на многомилионных объемах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 22:04 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, да, завтра напишу подробнее. Как-то я, видимо, не наступил на всяческие грабли partitioning-га. В эту тему написал, т.к. Автор запросил инфу по минимальному интервалу - почему бы не ответить, раз есть некоторый опыт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2017, 23:57 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
Vladimir Filin, может какая другая тема, более подходящая, найдётся? Всё ж тут про индексы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 00:51 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
Vladimir Filin, зачем тема , блог сразу пиши) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 01:02 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
Vladimir FilinVladimir Filin, может какая другая тема, более подходящая, найдётся? Всё ж тут про индексыТема огонь! Я обязуюсь предоставить развернутый фидбек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 01:40 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, хм... ну ладно, зажжжом тему ora601, не видать мне блогерского мегабабла с кликов да рекламы, всё не тем занимаюсь - партициии, да балки, что с них проку-то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 02:03 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, сегодня не успею -- на работе работать приходится, очередной релиз отлаживается. Забивать на тему не буду, выложу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2017, 18:27 |
|
||
|
Организация индексов в большой таблице
|
|||
|---|---|---|---|
|
#18+
sossissonНе понятно, есть ли какое-нибудь ограничение или рекомендации на сколько партиций можно разбивать таблицу или хоть на каждый день партицую можно создать? можно Код: plsql 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2017, 13:12 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39458325&tid=1885874]: |
0ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
170ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 538ms |

| 0 / 0 |
