[PERFORM] performance of foreign key constraints
I have a table that has about 20 foreign key constraints on it. I think this is a bit excessive and am considering removing them ( they are all related to the same table and I don't think there is much chance of any integrity violations ). Would this improve performance or not? thanks ---(end of broadcast)--- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match
Re: [PERFORM] performance of foreign key constraints
Stephan Szabo wrote: On Thu, 28 Aug 2003, teknokrat wrote: I have a table that has about 20 foreign key constraints on it. I think this is a bit excessive and am considering removing them ( they are all related to the same table and I don't think there is much chance of any integrity violations ). Would this improve performance or not? It depends on your frequency of inserts/updates to the table with the constraint and the frequency of update/delete to the table(s) being refered to. My guess is probably. You may wish to leave some of the constraints (decide which are the most important), but 20 does seem a bit excessive in general. The references are all to the same table i.e. they are employee ids, so leaving some and not others would make no sense. The table has no deletes, small amount of inserts and moderate amount of updates. However there are many selects and its their performance I am most concerned with. thanks ---(end of broadcast)--- TIP 8: explain analyze is your friend
Re: [PERFORM] performance of foreign key constraints
On Thu, 28 Aug 2003, teknokrat wrote: Stephan Szabo wrote: On Thu, 28 Aug 2003, teknokrat wrote: I have a table that has about 20 foreign key constraints on it. I think this is a bit excessive and am considering removing them ( they are all related to the same table and I don't think there is much chance of any integrity violations ). Would this improve performance or not? It depends on your frequency of inserts/updates to the table with the constraint and the frequency of update/delete to the table(s) being refered to. My guess is probably. You may wish to leave some of the constraints (decide which are the most important), but 20 does seem a bit excessive in general. The references are all to the same table i.e. they are employee ids, so leaving some and not others would make no sense. The table has no deletes, small amount of inserts and moderate amount of updates. However there are many selects and its their performance I am most concerned with. The foreign keys should only really affect insert/update/delete performance. If you're using 7.3.4 (I think) then updates to the fk table that don't change any of the keys should be relatively cheap. I'd be much more worried if you had any changes the the referenced employee table that might change the key because that could get relatively expensive. ---(end of broadcast)--- TIP 2: you can get off all lists at once with the unregister command (send unregister YourEmailAddressHere to [EMAIL PROTECTED])