Before denormalizing, I am wondering what effect this will have around the following:
- Query response time
- Width of rows within the database
- Joins essential for an effect
- Quantity of queries essential for demands to accomplish
It appears, should i be not mistaken, that many of these is going to be reduced?
Your presumptions are correct. Denormalizing increases performance, but however it reduces correctness.
This subject continues to be talked about in more detail within this previous stackoverflow question
If you operate in Microsoft SQL Server, I recommend keeping your tables stabilized and taking advantage of so known as Indexed Sights for denormalizations. They are semi-permanent data structures which are up-to-date whenever the actual tables are up-to-date. By doing this you retain the very best of both mobile phone industry's -- stabilized schema AND fast denormalized data!
Such like could also exists for Oracle, unsure.
Wouldn't the width from the rows within the database increase?
Denormalizing should simply be done being an optimisation of last measure.
It'll expand the database as well as increase data duplication making it harder to help keep data up-to-date as well as in sync.
Denormalization is a reasonably broad term, so there is no quick response to your question.
Where you are staying away from a join, it's apt to be faster to retrieve. However you are contributing to the complexness of updates and data maintenance so there is a tradeoff.
You appear to become asking if the amount of queries or even the speed is going to be enhanced on the systemwide basis, that also is not quite the feeling of it - it's easier to think about it as being a particular local optimisation to some specific bottleneck inside your application, i.e. something to think about to create a single query or group of queries improve your speed.
Aside from "with of rows within the database", your solutions are correct.
"Denormalization" means stashing more details consecutively than is strictly necessary. That's impossible without growing row width.
But the most crucial factor is : you didn't request the questions.
Additionally you question whether should you deliberately introduce redencancy inside your database, then should not additionally you be presenting additional database constraints simultaneously, to avoid your database from that contains corrupt data (data that opposes itself) ?
And when the response to that real question is 'yes', then possibly it's also wise to request yourself whether enforcing all individuals additional constraints which are only needed since you introduced the redendancy, won't lead you to get in a similar (or much graver) reduction in update performance.