Lesson 39/100

Tutorials SQL Server Tutorial

Statistics — Complete Guide

Statistics — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of SQL Server Tutorial on Toolliyo Academy.

On this page

SQL Server Tutorial · Lesson 39 of 100

Statistics

SQL basics ✓QueriesAdvanced

Queries · 2 — JOINs · ~6 min · SQL — Indexing & Performance

What is this?

Statistics are histograms SQL Server uses to estimate how many rows a predicate returns. Bad estimates → bad plans.

Why should you care?

After bulk loads, stale stats can make the optimizer pick scans instead of seeks.

See it live — copy this example

Run in SQL Server Management Studio (SSMS) or Azure Data Studio.

USE DataVerse;
UPDATE STATISTICS dbo.Orders IX_Orders_CustomerId WITH FULLSCAN;
DBCC SHOW_STATISTICS (N'dbo.Orders', N'IX_Orders_CustomerId');
SELECT name, auto_created, user_created, last_updated
FROM sys.stats s
CROSS APPLY sys.dm_db_stats_properties(s.object_id, s.stats_id) p
WHERE s.object_id = OBJECT_ID(N'dbo.Orders');

What happened?

  • UPDATE STATISTICS refreshes the histogram.
  • SHOW_STATISTICS displays density and steps.
  • dm_db_stats_properties shows last_updated times.

Practice next

  1. Update stats on Orders with FULLSCAN in lab.
  2. Run SHOW_STATISTICS and skim the histogram.
  3. Check last_updated for all stats on Orders.
  4. CREATE STATISTICS on (City, Status) manually.
  5. Compare estimated vs actual rows in a plan.

Remember

Stats drive cardinality estimates. Refresh after big data changes. Auto stats help; heavy ETL may need manual updates.

Post-ETL stats job

Nightly DataVerse load finishes then updates stats on fact tables.

Outcome: Morning reports pick sensible plans.

Interview prep for this lesson

Practice these questions aloud after reading—each links to a full structured answer.

Mid PDF Detailed
Statistics: The optimizer uses the database’s statistics on table size, index?
Short answer: fragmentation, and distribution of data to make its decision. Real-world example (ShopNest) ShopNest adds an index on Orders(CustomerId, CreatedAt) because “my recent orders” is queried constantly. Say this…
Mid PDF Detailed
What are the differences between SQL and NoSQL databases?
Short answer: SQL Databases (Relational Databases): These are structured databases that use Structured Query Language (SQL) for defining and manipulating data. Explain a bit more They store data in tables with rows and c…
Mid PDF Detailed
Query Performance:?
Short answer: Use EXPLAIN or QUERY PLAN to analyze query execution times and identify slow queries. Track metrics like response time, execution time, and query throughput. Real-world example (ShopNest) ShopNest adds an i…
Mid PDF Detailed
Start with 1NF: Ensure that the table has no repeating groups or arrays, and each?
Short answer: record has a unique identifier. Real-world example (ShopNest) Product and Category are separate tables (normalized). The order line stores product id + price snapshot—not a giant duplicated product blob. Sa…
Junior PDF Detailed
Define Roles: Define different roles based on business requirements (e.g., admin,?
Short answer: Define Roles: Define different roles based on business requirements (e.g., admin,? is a common interview topic in SQL & Databases. Give a clear definition, then one concrete example. Say this in the int…
Questions on this lesson 0

Sign in to ask a question or upvote helpful answers.

No questions yet — be the first to ask!

SQL Server Tutorial
Course syllabus

SQL Server Tutorial

SQL — Foundations
SQL — SQL Queries & Clauses
SQL — Joins & Relationships
SQL — Indexing & Performance
SQL — Stored Procedures & Functions
SQL — Transactions & Concurrency
SQL — Advanced SQL Server
SQL — Security & High Availability
SQL — 2022 & Cloud
SQL — Real-World Projects
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details