|
-
In a HIGH volume OLTP inserts on a partitioned table and on partitioned indexes, oracle has to do MORE work.
1 Find out the partition key value
2 Find out the appropriate table partiton where the row should go
3 Find out the appropriate partition from the indexes where the key valeus should be inserted.
In a normal heap table, Oracle will do less work for inserts.
I am not against partition as many of you guys think. In fact I use partition very cautiously.
Basically, partition is defined for DSS/DW system.
Even in OLTP, many systems use hash partition and global indexes. You need to evaluate your system carefully. What are the pros and cons of using partition?
I give a real life example:
There are 5500 users using a system. The system runs from 7 am to 8 PM Monday to Friday. There is a table, say tableX. On an average the table gets 15 Million rows per day. We decided to keep 3 days worth of data at any time on the table. That means, 45 Million rows.
On the 4th day, we delete 3 days older data. B/c of heavy concurrent inserts on the table during the day time, initially I thought hash partition with global indexes would be OK. But on the test, insert took longer time. So I changed it to a normal heap table with appropriate freelists and freelist groups. And the perf went up.
Bottom line:
If you do not know how many insert/update/delete are going to happen on the table, then you do not partition it.
Tamil
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|