Оценка времени создания индекса в оракуле

У меня есть некоторые таблицы в среде Oracle, которую я нашел, мог извлечь выгоду из новых индексов. Однако они - большие таблицы, в пределах от 1M регистры к 300M происходят регистры, таким образом, я сначала попытался бы оценить, сколько времени потребуется для создания индекса, таким образом, я знал бы, по крайней мере, порядок величины, это возьмет (часы, дни, недели)?

Есть ли некоторая функция/эмпирическое правило эвристики/оракула, которая могла помочь мне в решение этой проблемы?

9
задан kurast 18 June 2010 в 17:43
поделиться

1 ответ

На самом деле необходимо учитывать слишком много факторов, таких как скорость машины, память и т. Д., Которые могут повлиять на время создания. Кроме того, характер самих данных может существенно повлиять на время создания.

Я бы выбрал одну из больших таблиц, создал для нее индекс и посмотрел, сколько времени это займет. Затем возьмите потраченное время и разделите его на количество строк в таблице, и это должно дать вам приблизительную метрику того, чего ожидать. Обратите внимание, это не будет точным, но это просто практическое правило, которое вы могли бы использовать. Он будет сильно отличаться, потому что в некоторых таблицах больше столбцов, меньше разреженных значений столбцов и т. Д., Но это отправная точка.

Ex.  It takes 3600 seconds to create a index on table X, which has 3 million rows.
So the metric is 3600 / 3,000,000 = 0.0012 seconds per row.

So if table Y has 8 million rows, you could expect
.0012 * 8,000,000 = 9600 seconds (or 160 minutes) to create the index.
8
ответ дан 4 December 2019 в 13:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: