Poor database performance and process blocking during publishing

Hello,
We have been running Rhythmyx 6.7 on windows 32-bit with sql server 2005 for about 5 months now, having upgraded from 6.5.2

We are starting to see poor performance on the database server which is slowing down or stalling publishing runs.

The query at fault appears to be:

()delete from Rhythmyx.dbo.PSX_PUBLICATION_DOC where HIDDEN='Y' and (REFERENCE_ID not in  (select pssiteitem1_.REFERENCE_ID from Rhythmyx.dbo.PSX_PUBLICATION_SITE_ITEM pssiteitem1_))

There are 4,322,722 rows in psx_publication_doc
There are 158,288 rows in psx_publication_site_item

The query above does not seem to end even after the best part of 4 hours -manually killing the process appears to bring the publishing runs back to life.

I would like to know whether or not the number of rows in psx_publication_doc is supposed to be this excessively high, or if it is really supposed to be keeping in line with psx_publication_site_item and we have a problem which is causing it to grow exponentially.

Any help is gratefully received.
Many thanks