Skip to main content

Index tutorial SQL Server

When we need to improve the performance the first thing comes in your mind is Index, while there are many different things can be done to improve the performance of the system. But indexing of the table should be done carefully which may reduce the query time as unexpected. Although every SQL Server release comes with new updates so we have to know about the index, which one updates comes on Index and which type of index should be used to increase your performance. In this tutorial, we will learn about each type of index available in SQL Server and will explain why/when one could be used to improve the query performance.

In starting I will explain the basic about Index so that new database professional learn about the index in SQL Server.
According to Microsoft Doc, an index is an on-disk structure associated with a table or view that speeds retrieval of rows from the table or view. An index contains keys built from one or more columns in the table or view. These keys are stored in a structure (B-tree) that enables SQL Server to find the row or rows associated with the key values quickly and efficiently.
Type of Index: There are basically two types of index
1-        Clustered Indexes
2-        Non-Clustered Indexes

But some specialized index types are available in SQL Server, these indexes can create on regular tables and datatypes and some work only on specific datatype, please see the following.

1-        ColumnStore Indexes
2-        Full-Text Indexes
3-        XML Indexes
4-        Spatial Indexes
5-        Filtered Indexes

Don’t miss one thing which is more important, sometimes index can create trouble if we do not maintain indexes from time to time.

1-    Index Fragmentation

Popular posts from this blog

Add day to ISODate in MongoDB

We can use $add operator to add days in ISODate in mongodb, $add is the Arithmetic Aggregation Operator which adds number and date in mongodb.

{ $add: [ <expression1>, <expression2>, ... ] }

Note:  If one of the argument is date $add operator treats to other arguments as milliseconds to add to the date.
Example: Suppose we have a Test collection as below.

{"Title" : "Add day to ISODate in MongoBD","CreatedDate" : ISODate("2016-07-07T08:00:00.000Z")}

Query to add 2 days in CreatedDate

db.Test.aggregate([      { $project: { Title: 1, AddedDate: { $add: [ "$CreatedDate", 2*24*60*60000 ] } } }    ])


{ "_id" : ObjectId("579a1567ac1b3f3732483de0"), "Title" : "Add day to ISODate in MongoBD", "AddedDate" : ISODate("2016-07-09T08:00:00.000Z") }

Note: As mentioned in above note we have to convert days in millisecond because $add operator treat to other arg…

Remove special characters from string in SQL server

I faced many times an issue to remove special characters from a string. Suppose you are working on searching concept and you have to remove the special characters from search string due to query performance, there are many solution are available but T-SQL is easily resolved this issue.
Following query may help you to resolve your issue.

DECLARE@strVARCHAR(400) DECLARE@expresVARCHAR(50)='%[~,@,#,$,%,&,*,(,),.,!]%' SET@str='(remove) ~special~ *characters. from string in sql!' WHILEPATINDEX(@expres,@str)> 0 BEGIN SET@str=Replace(REPLACE(@str,SUBSTRING(@str,PATINDEX(@expres,@str), 1 ),''),'-',' ') END SELECT@str