hannibal Posted February 23, 2008 Share Posted February 23, 2008 I know that foriegn keys are useful in that if I delete (i.e.) a Customer, all records in tables with his/her foreign key with On Delete (Cascade) will be deleted. Excellent from a maintenance point of view. My question is what overhead on the (database) system is there by having foreign keys? Thanks, J. I am using MySQL V5. Quote Link to comment Share on other sites More sharing options...
fenway Posted February 23, 2008 Share Posted February 23, 2008 It means there are a lot of extra check to do for every update/delete operation. Quote Link to comment Share on other sites More sharing options...
hannibal Posted February 23, 2008 Author Share Posted February 23, 2008 Even if On Update = No Action? Thanks, J. Quote Link to comment Share on other sites More sharing options...
fenway Posted February 24, 2008 Share Posted February 24, 2008 Then why have it there? Quote Link to comment Share on other sites More sharing options...
hannibal Posted February 24, 2008 Author Share Posted February 24, 2008 I have: On Update = No Action On Delete = Cascade So that if a customer is deleted, the rest of the non-needed data in other tables is also removed as part of the housekeeping. If a customers record is updated, none of the other tables require any action. This saves me manually looping through other tables and deleting all records if a customer is deleted. There is nothing wrong with this method is there? Seems logical to me... Thanks, J. Quote Link to comment Share on other sites More sharing options...
fenway Posted February 25, 2008 Share Posted February 25, 2008 No, seems great. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.