Home >> FAQs/Tutorials >> SQL Server FAQ

SQL Server FAQ - Index Speeding Up SELECT Statements

By: FYIcenter.com

(Continued from previous topic...)

Does Index Speed Up SELECT Statements?

If you want to see the impact of indexes on SELECT statements, you can run the same SELECT statement on "fyi_links" and "fyi_links_indexed" tables. See the tutorial exercise below:

USE FyiCenterData;
GO

-- Run SELECT on the table without indexes
DECLARE @start_time DATETIME, @end_time DATETIME;
SET @start_time = GETDATE();
SELECT TOP 3 counts, url FROM fyi_links
   WHERE url LIKE 'a%'
   ORDER BY counts DESC;
SET @end_time = GETDATE();
PRINT 'Milliseconds used: '+CONVERT(VARCHAR(20),
   DATEDIFF(MILLISECOND,@start_time,@end_time));
GO
counts      url
----------- ------------------------------------------------
999417      a ihgu migox mlqvi gvs n nmabwdk iehu ezjjv n  l
999008      agqbr gkjwfpjvp z c cq k inen j  ppjsu x iuk uhp
998471      a    yiu squqco eih

Milliseconds used: 46

-- Run SELECT on the table with indexes
DECLARE @start_time DATETIME, @end_time DATETIME;
SET @start_time = GETDATE();
SELECT TOP 3 counts, url FROM fyi_links_indexed
   WHERE url LIKE 'a%'
   ORDER BY counts DESC;
SET @end_time = GETDATE();
PRINT 'Milliseconds used: '+CONVERT(VARCHAR(20),
   DATEDIFF(MILLISECOND,@start_time,@end_time));
GO
counts      url
----------- ------------------------------------------------
999417      a ihgu migox mlqvi gvs n nmabwdk iehu ezjjv n  l
999008      agqbr gkjwfpjvp z c cq k inen j  ppjsu x iuk uhp
998471      a    yiu squqco eih

Milliseconds used: 0

The test result shows indexes on "url" and "counts" did improve the SELECT statement from 46 milliseconds to almost 0 millisecond.

(Continued on next topic...)

  1. What Are Indexes?
  2. How To Create an Index on an Existing Table?
  3. How To View Existing Indexes on an Given Table using SP_HELP?
  4. How To View Existing Indexes on an Given Table using sys.indexes?
  5. How To Drop Existing Indexes?
  6. Is the PRIMARY KEY Column of a Table an Index?
  7. Does the UNIQUE Constraint Create an Index?
  8. What Is the Difference Between Clustered and Non-Clustered Indexes?
  9. How To Create a Clustered Index?
  10. How To Create an Index for Multiple Columns?
  11. How To Create a Large Table with Random Data for Index Testing?
  12. How To Measure Performance of INSERT Statements?
  13. Does Index Slows Down INSERT Statements?
  14. Does Index Speed Up SELECT Statements?
  15. What Happens If You Add a New Index to Large Table?
  16. What Is the Impact on Other User Sessions When Creating Indexes?
  17. What Is Index Fragmentation?
  18. What Causes Index Fragmentation?
  19. How To Defragment Table Indexes?
  20. How To Defragment Indexes with ALTER INDEX ... REORGANIZE?
  21. How To Rebuild Indexes with ALTER INDEX ... REBUILD?
  22. How To Rebuild All Indexes on a Single Table?
  23. How To Recreate an Existing Index?

Related Articles:

More...


Other Tutorials/FAQs:

More...


Related Resources:

More...


Selected Jobs:

More...