Будет ли использование разделов хорошей идеей в такой ситуации?

Контекст: база данных Oracle 10.

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

  • в основном он записывается один раз, а затем больше никогда не изменяется
  • в течение первого дня или около того, записи классифицируются от 0 до N (давайте вызовем этот класс столбца). записи могут быть переклассифицированы несколько раз в течение этого первого дня
  • , новые записи добавляются с классом 0, что означает «еще не классифицировано»
  • каждый час или около того, процесс классифицирует новые повторные записи и присваивает им новый класс от 1 до N
  • всех читателей интересует только класс 1
  • все записи старше одного дня почти не меняют свой класс,> 1 очищается через несколько дней

Теперь, поскольку большая часть доступа сделана к классу 1 , этот столбец часто используется в запросах (class = 1) вместе с другими условиями. У нас есть индекс для столбца классов, а затем еще раз для некоторых других столбцов.

На мой вопрос: сейчас мы думаем разделить эту таблицу по классам. Насколько я понял, это ускорит индексацию / работу с данными, поскольку class = 1 уже отделен от остальных данных, и поэтому доступ к нему неявно более эффективен. Это правильно?

Если вы согласны, что это хорошая идея, я продолжу читать в теме!

Спасибо Ура

Обновление 2010.11.30

Большое спасибо за ваш вклад. Я не знал, что это дополнительная опция :) Спасибо, что указали на это (пока я не потратил на это слишком много времени). Но, помимо проблемы с лицензией, мне кажется, что разделение не обязательно является хорошим решением в этом контексте.

5
задан reto 30 November 2010 в 08:30
поделиться