Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 53537
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T17:04:44+00:00 2026-05-10T17:04:44+00:00

What is the difference between creating one index across multiple columns versus creating multiple

  • 0

What is the difference between creating one index across multiple columns versus creating multiple indexes, one per column?

Are there reasons why one should be used over the other?

For example:

Create NonClustered Index IX_IndexName On TableName (Column1 Asc, Column2 Asc, Column3 Asc) 

Versus:

Create NonClustered Index IX_IndexName1 On TableName (Column1 Asc)  Create NonClustered Index IX_IndexName2 On TableName (Column2 Asc)  Create NonClustered Index IX_IndexName3 On TableName (Column3 Asc) 
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T17:04:44+00:00Added an answer on May 10, 2026 at 5:04 pm

    I agree with Cade Roux.

    This article should get you on the right track:

    • Indexes in SQL Server 2005/2008 – Best Practices, Part 1
    • Indexes in SQL Server 2005/2008 – Part 2 – Internals

    One thing to note, clustered indexes should have a unique key (an identity column I would recommend) as the first column. Basically it helps your data insert at the end of the index and not cause lots of disk IO and Page splits.

    Secondly, if you are creating other indexes on your data and they are constructed cleverly they will be reused.

    e.g. imagine you search a table on three columns

    state, county, zip.

    • you sometimes search by state only.
    • you sometimes search by state and county.
    • you frequently search by state, county, zip.

    Then an index with state, county, zip. will be used in all three of these searches.

    If you search by zip alone quite a lot then the above index will not be used (by SQL Server anyway) as zip is the third part of that index and the query optimiser will not see that index as helpful.

    You could then create an index on Zip alone that would be used in this instance.

    By the way We can take advantage of the fact that with Multi-Column indexing the first index column is always usable for searching and when you search only by ‘state’ it is efficient but yet not as efficient as Single-Column index on ‘state’

    I guess the answer you are looking for is that it depends on your where clauses of your frequently used queries and also your group by’s.

    The article will help a lot. 🙂

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 167k
  • Answers 167k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Find all the symbolic links in a directory: ls -l… May 12, 2026 at 1:26 pm
  • Editorial Team
    Editorial Team added an answer I am not sure about the GhostDoc auto documentation, but… May 12, 2026 at 1:26 pm
  • Editorial Team
    Editorial Team added an answer Either use a stored procedure or InlineQuery object. May 12, 2026 at 1:26 pm

Related Questions

I have a series of questions about Keys, Indexes and Constraints in SQL, SQL
The Database Engine Tuning Advisor has finally given up the ghost and can't help
What is the difference between creating an item inside a target like this: <Target
Just wondering what the difference between BeginInvoke() and Invoke() are? Mainly what each one

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.