I have a sub partitioned table and I was trying to truncate a partition by doing this.

alter table xxx truncate partition xx_p1 (32 partitions)

this partition had 0 records and took 10 mins to complete

Then truncated a different partition with 1000000 records in it. This took around the same time. So obviously the physical deleting of the data took a nominal amount of time. So why does it take so long to find the partition and then delete the data.

Simple truncating the entire table of about 15000000 million records took forever to complete. On another system we have we can truncate a 200000000 million record table in about 10 minutes (on a SunFire Solaris 8 with 24 CPUs and 8 racks of T3 cabinets).

this system is a solaris 8 system, on an E10K, 8 CPU's loadsa memory and EMC storage disks. The laod is evenly balanced across tablespaces and disks and Oracle 8.1.7.4 (32 Bit) so no sloppy machine by any stretch

Deleting the records from the table (simple using delete) took a matter of seconds, 5000000 records took 2 minutes or something, now deleting should take longer because of the rollback and stuff.

Anyone got any idea as to why the truncate takes so long?

Cheers

Dave