Showing posts with label SQL Server. Show all posts
Showing posts with label SQL Server. Show all posts

Thursday, January 22, 2015

Fixing the collation on Instance,Database and column levels

Hi dears, Many of us come across the collation issue on many levels. We will see how to resolve the issues on each level. This post will cover the fallowing collation issues.
language

  • Collation issues on the Instance level.
  • Collation issues on the database level.
  • Collation issues on the table on column levels.

Saturday, December 6, 2014

Secrets of SQL Server Execution plan (3/5)

Secrets of SQL Server Execution plan (3/5)

So for we have saw somelimitations of execution plan, some alarming signs which tell us about the need for update statistics etc on my previous blogs. Now we will see how to analyse some more complex execution plans. As usual we will start with tip. It is always better to set the IO Statistics on while optimizing the query, which gives some clear picture about your query. While working with very big execution plan it will be little bit hard for us to check whether our indexes are used are not. for such situation just wright click anywhere on the plan and click “Show Execution Plan on XML” then you can use CTL+F to find any specific index. Also generating a XML plan has lot more benefits, such as memory fractions, parameters list used while optimization etc..
Also we should keep in mind the execution plan distributes the cost across the operators,  you may saw high number on Key lockups which require covering index. And you may saw warning symbol over hash match join etc.. which are all just instigators. There is no one rule fits all in query optimization which is the reason why we don’t have a query tuning robot yet.

Friday, November 21, 2014

Secrets of SQL Server Execution plan (1/5)


In this blog we are going to see some basic things on how to interpret a execution plan for a query . The first first step on enhancing a query for optimal performance is to understand the query execution on cost basis , which part of the of the query is costly and which part is not . To do so, SQL Servers query execution plan is the best choice, by which we can point out which part of our query is more costlier.
people-planning-300x200
Learning a query execution plan is like learning a new language, which is iconic language. Just explaining each and every icon of this language will be wage for you. More things on execution plan can be garbed while practicing it .
Before dive deeper into the subject , we should know the limitations of the execution plan. Execution plan doesn’t tell you below things
  • Locks acquired
  • Wait statistics
  • Data is in the cache or not
  • Not a replacement of SET STATISTICS IO
  • Not a replacement of SET STATISTICS TIME
Below are some easy usage ways to get full benefit of the execution plan
“We have to read the execution plan from right to left and from down to top”. 
I am using AdventureWorks2008 database on my examples. In this blog we will see only some basic things and spice up things on the coming series