Re: EOF, MySQL and DELETE CASCADE
Re: EOF, MySQL and DELETE CASCADE
- Subject: Re: EOF, MySQL and DELETE CASCADE
- From: Kieran Kelleher <email@hidden>
- Date: Tue, 24 Feb 2009 12:47:36 -0500
OK, I have a case like this where I have a one to many and the many
can be up to 500,000 items. In that case, I have a one-sided
relationship (to-one in the detail items) defined in EOModeler and
custom business logic for managing the items in the relationship.
For deleting, I simply use
ERXEOAccessUtilities.deleteRowsDescribedByQualifier( .... ); which
bypasses EOF and just does SQL delete in one statement.
On Feb 24, 2009, at 10:31 AM, Pascal Robert wrote:
Ok, but that won't fix my performance problem since EOF will issue
over 3000 DELETE statements, and fetch over 3000 objects just to
delete them, and between the SELECT and the start of the DELETE
blocks, it takes 5 minutes... I guess I will have to go 100% pure
SQL. FYI, this is for a SOAP service that store contacts and events
in Zimbra and I use the DB to store IDs coming from Zimbra and from
a Web app. Some users have > 10 000 contacts... It's a very simple
schema, so going 100% pure SQL is not a big task.
Just let EOF do the Cascade delete based on your relationship
options in EOModeler. In your MySQL InnoDB tables you only need to
define your tables, your PKs and possibly add any UNIQUE INDEX
constraints where your logic dictates ..... nothing more needed by
EOF. No need to define FKs, cascade deletes etc in the db when
using MySQL.
On Feb 24, 2009, at 8:27 AM, Pascal Robert wrote:
Hi list,
Can somebody confirm that the MySQL plugin don't care about DELETE
CASCADE rules on a FK in MySQL (4.1)? I switched a small db to
InnoDB and added FK with the DELETE CASCADE option, but EOF still
fetch the parent objects (SELECT * FROM parent), all childs
(SELECT * FROM child) and will issue a DELETE statement for each
child... which is not efficient at all.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden