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
Write the fastest query to find out how many rows exist in a table?
What is the database development process?
How to replace not in with not exist?
What are the three types of database design?
Explain about the relational database?
How to generate OIDS
If a column is an image value type, how you can compare column values? How can you use this column in join clause?
Explain the process of the user request and data generating?
Explain about the storage and physical database design?
Explain the role of indexing in databases?
How to use online Backups?
Explain about normal forms?
What is normalization? Explain different levels of normalization?
You have two tables with a one to many join based on a field named id. You need to find records in the parent table that are not represented in the child table. how would you accomplish this?
You are testing the performance of a query the first time you run the query, the performance is slow. the second time you run the query, the performance is fast. why is this?