On Sep 21, 2007, at 7:45 PM, Giulio Cesare Solaroli wrote:
[18:09:40] DELETE FROM clipperz.RCRVRS WHERE ID_RCRVRS = ?
[18:09:40] [batch bind: 968]
[18:09:40] [batch bind: 875]
[......]
[18:09:40] [batch bind: 1177]
[18:09:40] [batch bind: 2792]
[18:11:54] === updated 68 rows.
In this case, to delete just 68 rows it took more than two minutes,
but I don't know if this time is spent somewhere inside the cayenne
code, or if this is simply the time it took PostgreSQL to "physically"
delete the rows.
Initially I suspected performance problems with faulting the
relationships, but if the delete itself is so slow, it points to
PostgreSQL as the bottleneck as Ari said (coincidentally the query
above is a BatchDeleteQuery generated by Cayenne). If it takes that
long, something is wrong with the DB. I second a suggestion to try
installing PostgreSQL on Mac and it without Parallels.
The SQL I am expecting Cayenne to generate would look like this:
delete from user_detail where id_user = <id of the user I want to
delete>;
Cayenne 3.0M2 (yet unreleased) supports such functionality via an
EJBQL query, but maybe you don't need to do direct DB deletion just yet.
Andrus