Marcel Kratochvil recently wrote a paper on the relevance of FKs with respect to multimedia. This post is inspired by that paper, because it reminded me of a multimedia database project I worked on a few years ago, but it is not the central argument of his paper.
When retrieving large multimedia objects (Images, Audio, Video etc) from the database and sending them over the internet to a browser, the biggest impact on the user experience was the internet speed, especially since this was a few years ago. The database performance was for the most part irrelevant. As a result, the effect of bad execution plans was also largely irrelevant. So I might represent the loss of overall performance as a result of omitting FKs (or anything else that affects the optimizers decision making process) as follows.
In attempting to tune this system, you can bet that the majority of the effort was spent on the transit mechanism, rather than the DB performance.
- Am I suggesting FKs are irrelevant? No.
- Do I agree with Marcel’s paper? No.
- Do I understand some of the points he is making? Yes.
Your frame of reference has a big impact on the importance you place on things.
It’s late. I’m going to bed. 🙂