Shrinking database is bad: it increases fragmentation and reduces performance. Here is a simple example with two tables that shows it step by step.
SQL SERVER – A Funny Cartoon on Index
A Funny Cartoon about a conversation on indexes I hear at nearly every performance tuning job. Indexes do not solve every problem, and here is what else to check.
Partitioning a Large Fact Table
Partitioning a large fact table can simplify loading and retention when boundaries, aligned indexes, and switch rules are designed together.
Unused Index Script: Find Indexes That Only Cost You Writes
This Unused Index Script lists nonclustered indexes that SQL Server keeps writing to and no query ever reads. It starts from the index list so untouched indexes are not missed, skips the risky ones, and writes the disable and recreate statements. A garden center orders table shows one update dropping from 5,011 pages to 6 once an unused index is disabled.
Missing Index Script: Read the Suggestions Before You Create
This Missing Index Script ranks the indexes SQL Server wishes it had by a plain score and builds a CREATE INDEX statement for each. Read the key order, the INCLUDE list and the overlap before you create one. A garden center orders table shows the logical reads drop from 3,138 pages to 3.
SQL SERVER – Index Created on View not Used Often – Limitation of the View 12
At my Hyderabad seminar someone asked: will an Index Created on a view be used when you query the view? Not always. Limitation 12 of views explained.
Page Density: The Fragmentation Number That Actually Slows Scans
Measure page density and fragmentation, compare scan reads around a test rebuild, and choose fill factor using workload evidence.






