Friday, February 24, 2012

SQL Server interview questions: - What do you mean about Fragmentation in SQL Server?

SQL Server interview questions: - What do you mean about Fragmentation in SQL Server?:
This is the SQL Server interview questions which are asked during the interview not so frequent. But still go through it once before going for the interview.

Speed issues occur because of two major things
  • Fragmentation.
  • Splits.
Splits have been covered in the first questions. But one other big issue is fragmentation. When database grows it will lead to splits, but what happens when you delete something from the database…HeHeHe life has lot of turns right. Ok let’s say you have two extents and each have two pages with some data. Below is a graphical representation. Well actually that’s now how things are inside but for sake of clarity lot of things have been removed.


Figure: - Data Distribution in Initial Stages

Now over a period of time some Extent and Pages data undergo some delete. Here is the modified database scenario. Now one observation you can see is that some page’s are not removed even when they do not have data. Second If SQL server wants to fetch all “Females” it has to span across to two extent and multiple pages within them. This is called as “Fragmentation” i.e. to fetch data you span across lot of pages and extents. This is also termed as “Scattered Data”.


Figure: - Data Distribution after Deletes

What if the fragmentation is removed, you only have to search in two extent and two pages. Definitely, this will be faster as we are spanning across less entities


Figure: - Fragmentation removed

See the following video on calling a stored procedure using LINQ: -



Click for more SQL Server interview questions

Regards,

Visit for more author’s blog on SQL Server interview questions

No comments:

Post a Comment

Could not find a part of the path ... bin\roslyn\csc.exe

I am trying to run an ASP.NET MVC (model-view-controller) project retrieved from TFS (Team Foundation Server) source control. I have added a...