Monday, May 30, 2011

Детская загадка

Жила-была табличка на 1,5 млрд записей.
И решили мы все строки в ней пронумеровать.
И добавили мы новое поле и пронумеровали все строки.
И пронумеровались строки ...

И стали мы выбирать из нее данные по новому столбцу:
where newcolumn between X and Y; порциями по 10 млн.
И создали таким образом много табличек по 10М строк.
И создавалась одна 10М-табличка около 200 сек.

И наступил вечер и ушли мы домой.
И пришел следующий день и пришли мы на работу.
И еще раз запустили мы создание 10М-табличек.
И создавались они уже не по 200, а по 40 секунд.

Отгадай?

Ответ: ыещкфпу штвуч

Мораль сей басни такова: в 5 раз !

2 comments:

  1. Так что было, можно попопулярнее? =)

    ReplyDelete
  2. Причина данного поведения - storage index.
    Оракл обнаружил ряд запросов и решил построить SI на запрошенные поля. В результате на следующий день все стало быстрее.

    ReplyDelete

Note: Only a member of this blog may post a comment.

Does DEALLOCATE UNUSED or SHRINK SPACE will free space occupied by LOB segment?

Lets check how it works. My env is DB 19.20@Linux-x64 1) I created the table with 4 LOB columns of 4 different LOB types: BASICFILE BLOB, BA...