db-torque-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From brainville <brainvi...@kryptiq.com>
Subject Efficient way to delete lots of rows at a time?
Date Tue, 05 Feb 2008 21:43:00 GMT


I'm using Torque 3.3, and I have a situation where I'm trying to delete a
large number of rows from a mapping table at once.  In my case, I have a
Category table, a Person table, and a mapping table that lists which people
belong to which categories.  When a user deletes a category, I of course
first have to delete the records from the mapping table.  To do this, I am
doing the following:

public void deleteCategoryFromMap( String categoryId ) {
Criteria c = new Criteria();
c.add(CategoryMapPeer.FK_CATEGORY_ID, categoryId);

What I have noticed, though, is that the doDelete method seems to be
performing a select, then executing a separate delete statement for each
returned row.  In one specific example, there are 12000 people that belong
to a category -- that's 12000 separate delete statements.  Is there a better
option than this? 

CategoryMapPeer.executeStatement("delete from " + CategoryMapPeer.TABLE_NAME
+ " where " + CategoryMapPeer.FK_CATEGORY_ID + " = '" + categoryId + "'");


Ben Rainville
View this message in context: http://www.nabble.com/Efficient-way-to-delete-lots-of-rows-at-a-time--tp15299799p15299799.html
Sent from the Apache DB - Torque Users mailing list archive at Nabble.com.

To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org

View raw message