بهبود بخشیدن Performance با پارتیشن بندی در اوراکل
پارتیشن بندی برای بهبود بخشیدن Performance در اوراکل مورد استفاده قرار می گیرد.
بطور مثال شما کوئری زیر را اجرا می کنیم:
select trans_dt, sum(trans_amount), avg (trans_amount),
max(trans_amount), min(trans_amount)
from trans
where product_code = 8
group by trans_dt
select trans_dt, sum(trans_amount), avg (trans_amount),
max(trans_amount), min(trans_amount)
from trans
where product_code = 8
group by trans_dt
مشاهده می کنیم که full table scan رخ می دهد. اولین کاری که انجام می دهیم این است که یک ایندکس روی فیلد product_code ایجاد می کنیم.
به علت ایجاد ایندکس دیگر full table scan ندارید ولی یک مشکل دیکر بوجود می آید و تاثیر آن در Insert نمایان می گردد.در این موقع ما به جای ایندکس می رویم پارتیشن بندی می کنیم و دوباره full table scan رخ می دهد ولی زمان اجرا بسیار سریعتر می شود زیرا فقط در محدوده پارتیشن اجرا می شود نه در کل جدول ما.
نتیجه گیری:
وقتی بهبود Performance در الویت قرار دارد.
وقتی روی بسیاری از کوئری ها در اوراکل بر روی جدول دچارfull-table scan می شویم.
وقتی دو یا چند جدول با دیتای زیاد در اوراکل داریم که با هم join می شود.