What is denormalization and when would you go for it?
Answer Posted / sandeepa rout
De-normalization is the process of attempting to optimize
the performance of a database by adding redundant data. It
is sometimes necessary because current DBMSs implement the
relational model poorly.
Only one valid reason exists for denormalizing a relational
design - to enhance performance. However, there are several
indicators which will help to identify systems and tables
which are potential denormalization candidates. These are:
* Many critical queries and reports exist which rely upon
data from more than one table. Often times these requests
need to be processed in an on-line environment.
* Repeating groups exist which need to be processed in a
group instead of individually.
* Many calculations need to be applied to one or many
columns before queries can be successfully answered.
* Tables need to be accessed in different ways by different
users during the same timeframe.
* Many large primary keys exist which are clumsy to query
and consume a large amount of DASD when carried as foreign
key columns in related tables.
* Certain columns are queried a large percentage of the
time. Consider 60% or greater to be a cautionary number
flagging denormalization as an option.
| Is This Answer Correct ? | 18 Yes | 5 No |
Post New Answer View All Answers
How to use online Backups?
How is data stored in dbms?
Explain about relational operator join?
Explain about normal forms?
How to combine two function together?
What are data modelling techniques?
If a column is an image value type, how you can compare column values? How can you use this column in join clause?
How to customize error conditions.
What is database design and development?
To convert IDMS to DB2, how to deal with IDMS occurs and redefined clause?
The count() function always returns a int value type what should you do if you need to count rows from a query which you know will return a value that is too large for an int value type?
What is a database development?
I have a few records all are same structures data, I want to store data in multiple targets how
How can I detect whether a given connection is blocked?
Explain the role of indexing in databases?