From: Martijn Tonies Date: March 20 2006 7:24am Subject: Re: Discussion: the efficiency in using foreign keys List-Archive: http://lists.mysql.com/mysql/195968 Message-Id: <015c01c64bef$64cc85f0$cd02a8c0@martijnws> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi, > This is a fundamental concept in RDBMS: the use of foreign keys in > database design. > > I'd just like to poll the community here, on whether it is a best > practice, or practically essential to 'link' related tables by use of > foreign keys. > > For myself, I usually do all the validity checking when adding a new > record that references a record id from another table. I understand that > this may not be efficient because it becomes 2 database calls (and db > calls are expensive in high-load environments). > > What are the advantages/ disadvantages in using foreign keys? In MySQL, > this means one cannot use MyISAM. Do you place a lot of triggers as well? When it comes to referential constraints, the answer is simple: ALWAYS put them on the database. Anyway who answers differently either never had to recover a database that was trashed by the lack of integrity constraints or has no ide what he's talking about. Most probably, this statement will get me tons of e-mail again ;-) Martijn Tonies Database Workbench - development tool for MySQL, and more! Upscene Productions http://www.upscene.com My thoughts: http://blog.upscene.com/martijn/ Database development questions? Check the forum! http://www.databasedevelopmentforum.com