---
title: "What’s the difference between SMALLINT, INT, and BIGINT?"  
description: "What’s the difference between SMALLINT, INT, and BIGINT?"  
author: "Anubhav Sharma"  
published: 2025-08-21  
updated: 2025-11-10  
canonical: https://www.mindstick.com/forum/161880/what-s-the-difference-between-smallint-int-and-bigint  
category: "SQL Server"  
tags: ["sql server", "sql"]  
reading_time: 2 minutes  

---

# What’s the difference between SMALLINT, INT, and BIGINT?

What’s the [difference](https://www.mindstick.com/articles/157114/good-news-or-bad-news-and-the-difference-is) between `SMALLINT`, `INT`, and `BIGINT`?

## Replies

### Reply by Mayank kumar Verma

## Difference Between SMALLINT, INT, and BIGINT

These data types store integer (whole) numbers but differ in the **range** they can hold and the **space** they use.

| Type | Storage | Range (Signed) |
| --- | --- | --- |
| SMALLINT | 2 bytes | –32,768 to 32,767 |
| INT | 4 bytes | –2,147,483,648 to 2,147,483,647 |
| BIGINT | 8 bytes | –9,22,33,72,036,854,775,808 to 9,22,33,72,036,854,775,807 |

### Summary

**SMALLINT** → Small range, less space

**INT** → Standard integer

**BIGINT** → Very large range

Use **SMALLINT** for small values (e.g., age), **INT** for most numeric IDs, and **BIGINT** for very large counts (e.g., global user IDs).

### Reply by ICSM Computer

### [Numeric Integer](https://www.mindstick.com/interview/34357/what-is-the-difference-between-decimal-and-float)[Data Types](https://www.mindstick.com/interview/34355/what-are-sql-data-types) in SQL Server

| **Data Type** | **Storage Size** | **Range (Signed)** |
| --- | --- | --- |
| **TINYINT** | 1 byte | 0 to 255 |
| **SMALLINT** | 2 bytes | –32,768 to 32,767 |
| **INT** | 4 bytes | –2,147,483,648 to 2,147,483,647 |
| **BIGINT** | 8 bytes | –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |

### Key Points

- **TINYINT**: Smallest integer type, great for status codes, flags, small counters.
- **SMALLINT**: When numbers won’t exceed **±32K** (like age, year offsets, small lookups).
- **INT**: Most common choice; default for identity columns and primary keys.
- **BIGINT**: For very large ranges (**billions/trillions** of records, big transaction IDs).

### Best Practice

Always pick the smallest type that fits the data range.

- Saves **storage**.
- Improves **index performance**.
- Reduces **I/O costs**.


---

Original Source: https://www.mindstick.com/forum/161880/what-s-the-difference-between-smallint-int-and-bigint

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
