Thursday, March 11, 2010     | Register
Index Design

 

Filtered Indexes

 

create index i1 on t1(col1) where col1 > 5 and col1 < 20 -- Huh ? Conor shows how this is possible in SQL 2008 ... Source : Conor Cunningham - sqlSkills.com - Blog Post

 

 

More Filtered Indexes

 

Grumpy takes us through one of the benefits of Filtered Indexes - reducing the maintenance impact for 24/7 operations ... Source : Grumpy Old DBA - sqlBlogCasts.com - Blog Post

 

 

Designing Composite Indexes

 

Some great advice and considerations from the ISV team on designing composite indexes i.e.; indexes with more than 1 column ... Source : Microsoft SQL ISV Program Management Team - Blog Post

 

 

Comparing Tables Organized with Clustered Indexes versus Heaps

 

This white paper summarizes the advantages and disadvantages, the difference in performance characteristics, and other behaviors of tables that are ordered as lists (clustered indexes) or heaps ... Source : Microsoft.com - Technet Article

 

 

Bookmark Lookups: Expensive, even in Memory

 

Depending on the selectivity of an index, it's often (much) quicker to perform a table scan compared to multiple index bookmark lookups, such is the price of random disk I/O. But what if all the data was cached in memory? In this post, Linchi demonstrates that the overhead of cached bookmark lookups is still very noticeable ... Source : Linchi Shea - SQLBlog.com - Blog Post

 

 

Indexes on Computed Columns

 

In this post, Jack addresses a common performance problem; using scalar functions in predicates, and how the creation of an (indexed) computed column can improve performance in such cases ... Source : Jack Li - CSS SQL Server Engineers - Blog Post

 

 

Clustered Tables Vs Heaps; What's the (performance) difference?

 

This whitepaper examines the various differences in the behaviour of tables with and without a clustered index ... Source : Microsoft.com - Whitepaper


Statistics Maintenance

 

Filtered Statistics

 

In this post, Jason overviews a great use for Filtered Statistics; skewed data ... Source : Jason Massie - JasonMassie.com

 

 

Statistics Used by the Query Optimizer in Microsoft SQL Server 2008

 

This papers covers the inner workings of statistics, and the vital role they play in achieving the best query performance in SQL Server. In addition to a broad overview, it covers how SQL Server automatically maintains statistics, and how these settings can be overridden for individual columns/tables/databases (and why you may want to consider doing so) ... Source : Eric N. Hanson and Yavor Angelov - Whitepaper - MSDN.com

 

 

Statistics - Common Problems Part I

 

Elisabeth takes us through two common statistics problems; sample rate and update frequency ... Source : Elisabeth Redei - SQLBlog.com

 

 

Statistics on Blobs

 

Bob shares a recent experience with auto update statistics events on large blob data ... Source : Bob Dorr - CSS SQL Server Engineers - Blog Post

 

 

Statistics Used by the Query Optimizer in Microsoft SQL Server 2005

 

Microsoft® SQL Server™ 2005 collects statistical information about indexes and column data stored in the database. These statistics are used by the SQL Server query optimizer to choose the most efficient plan for retrieving or updating data. This paper describes what data is collected, where it is stored, and which commands create, update, and delete statistics - Update : See the SQL 2000 version of this document here which includes more background information on statistics within SQL Server ... Source : Microsoft.com - Technet Article

 

 

DBCC SHOW_STATISTICS

 

In this post, Kalen goes into a little detail on the output of DBCC SHOW_STATISTICS, which is used to interrogate SQL Server's statistic information for a given index or column ... Source : Kalen Delaney - SQLblog.com - Blog Post

 

 

Ordering Index and Statistics Maintenance

 

Should you update statistics after a full index rebuild? These and other questions answered by Master blogger Paul Randal ... Source : Paul S. Randal - sqlskills.com - blog post

 

 

Are statistics over non-indexed columns updated by index rebuild?

 

When an index is rebuilt, the statistics for that index are as well. What about non indexed columns? ... Source : Tibor Karaszi - SQLblog.com - Blog Post

 


Full Text Indexing

 

iFTS Best Practices

 

This blog offers a number of Best Practices surrounding the Integrated Full Text Search (iFTS) feature in SQL Server 2008 ... Source : SQLCAT Team - Blog Post

 

 

iFTS

 

A great series of blog posts from Simon Sabin on SQL Server 2008 Integrated Full Text Search (iFTS) ... Source : Simon Sabin - sqlblogcasts.com - Blog Post

 

 

SQL Server 2005 Full-Text Queries on Large Catalogs: Lessons Learned

 

The observations in this paper are based on tests run in the SQL Server Customer Lab for a customer who needed to scale up full-text search to a much greater potential volume. The paper describes the customer scenario, provides an overview of SQL Server 2005 full-text concepts that bear on the results, and offers lessons learned and recommendations for using full-text queries on large catalogs ... Source : Microsoft.com - Technet Article


Index Maintenance

 

Missing Index Information via Execution Plans

 

In addition to tools such as Index Tuning Advisor and the missing index DMVs, SQL Server 2008 now includes the missing index suggestions in the output of the Execution Plans, as shown in this blog post ... Source : SQLTeam.com - Blog Post

 

 

Unused Indexes

 

SQL Server MVP Jason Massie shares his script for identifying potential indexes to drop ... Source : Jason Massie - Blog Post

 

 

Implicit Conversions & Index Scans

 

Another great script from Jason; this one identifies implicit data type conversions which cause sub-optimal index usage ... Source : Jason Massie - Blog Post

 

 

Retrieve Missing Index Info from Cached Query Plans

 

Michelle provides a script to inspect and retrieve missing index information from the cached query plans ... Source : Michelle Ufford - SQLFool.com - Blog Post

 

 

Index Fragmentation

 

Michelle kindly provides the T-SQL code for her automated index defrag script. Be sure to check out her webcast as well ... Source : Michelle Ufford - SQLFool.com

 

 

Index Defrag script

 

Aaron provides some personal tweaks to Michelle Ufford's Index Defrag script ... Source : Aaron Bertrand - SQLBlog.com

 

 

Foreign Keys without an Index

 

A common performance problem stems from unindexed Foreign Keys. In addressing this, Paul Nielsen wrote (and kindly published the code for) a script to create composite non clustered indexes on foreign keys without a matching index. Thanks Paul! ... Source : Paul Nielsen - SQLBlog.com

 

 

Duplicate Indexes

 

Some great scripts from Paul to find duplicate (or overlapping) indexes ... Source : Paul Nielsen - SQLBlog.com

 

 

sp_indexinfo

 

A fantastic proc from Tibor that returns index information from a number of DMVs. Among other information, it returns the indexes for a table, the type of index (clustered or non clustered), the included columns, how often the index is used and the space taken by the index. Great stuff Tibor ... Source : karaszi.com - Article

 

 

Index Fragmentation

 

In this blog post, Kalen answers a couple of questions on Index Fragmentation giving a good insight into some of the finer details ... Source : Kalen Delaney - SQLblog.com - Blog Post

 

 

Online Indexing Operations in SQL Server 2005

 

Introduced in SQL Server 2005 Enterprise Edition, the online index feature provides a powerful way to perform maintenance operations such as rebuilding or creating indexes in a production system without sacrificing DML concurrency. This paper provides a detailed discussion of the index process and provides guidelines and best practices for implementing this feature in a production environment ... Source : Microsoft.com - Technet Article

 

 

Fragmentation in SQL Server - Everything you wanted to know …

 

A 7 part blog post from Chad Boyd on Fragmentation in SQL Server. What it is, how to avoid it and what to do with it ... Source : Chad Boyd - MSQLTIPS.com - Blog Post

 

 

Retrieve Index Usage Statistics

 

The sys.dm_db_index_usage_stats view allows you to determine which indexes are used only lightly (sum of user columns) and to determine which indexes are incurring maintenance overhead (user_updates column). You may want to consider dropping indexes that incur maintenance overhead, but are used infrequently for queries ... Source : Microsoft.com - Technet Article

 

 

Reorganising and Rebuilding Indexes

 

This BOL article shows how the sys.dm_db_index_physical_stats function can be used to measure fragmentation and discusses the various rebuild options based on the level of fragmentation ... Source : Microsoft.com - MSDN Article

 

 

DBCC SHOWCONTIG Improvements in SQL Server 2005 and comparisons to SQL Server 2000

 

This article describes the improvements of DBCC Showcontig in SQL 2005 and it's preferred alternative, the DMV's ... Source : Microsoft.com - Technet Article

 

 

How can SQL Server 2005 help me evaluate and manage indexes?

 

In this blog post, the SQL CAT team talk about using DMV's to determine the cost and effectiveness of indexes ... Source : Tom Davidson - SQL Server Customer Advisory Team - Blog Post

 

 

Analysing Indexes

 

A four part indexing special from Grumpy Old DBA covering index related DMV's, collecting index data, statistics, index size and clustered index selection ... Source : Grumpy Old DBA - Blog Post

 

 


Scripts

 

Physical Index Details

 

A great script (stored proc) from Tibor that retrieves index information that would otherwise require digging around in various places. Amongst others, it includes indexes for one or more tables, the index type, columns included (and included columns) in the index, uniqueness, number of rows, space usage and usage frequency. Great stuff ... Source : Tibor Karaszi - Karaszi.com 

 

 

Retrieve Index Usage Statistics

 

The sys.dm_db_index_usage_stats view allows you to determine which indexes are used only lightly (sum of user columns) and to determine which indexes are incurring maintenance overhead (user_updates column). You may want to consider dropping indexes that incur maintenance overhead, but are used infrequently for queries ... Source : Microsoft.com - Technet Article

 

 

Reorganising and Rebuilding Indexes

 

This BOL article shows how the sys.dm_db_index_physical_stats function can be used to measure fragmentation and discusses the various rebuild options based on the level of fragmentation ... Microsoft.com - MSDN Article

 

 

Find table and index name for fragmented indexes

 

A simple but effective script from Tibor that uses a function and DMV's to return the table and index names of all indexes exceeding a certain fragmentation level ... Tibor Karaszi - SQLblog.com - Blog Post

 

 



Copyright (c) 2010 sqlCrunch.com   |  Privacy Statement  |  Terms Of Use