Smallint

Définition, exemples et bonnes pratiques

À retenir

  • Stockage sur 16 bits (soit 2 octets).
  • Plage de valeurs courante : de -32 768 à 32 767.
  • Sert à optimiser l'espace disque et la rapidité des calculs.

Le smallint est un format de stockage informatique conçu pour les nombres entiers de petite taille. Imaginez une petite étagère calibrée pour ne recevoir que des objets compacts : cela permet d'organiser ses données de façon efficace sans gaspiller l'espace nécessaire à de très grands nombres.

Étymologie

Il s'agit d'un mot-valise issu de l'anglais, combinant small (petit) et integer (nombre entier). Son usage s'est généralisé avec la standardisation du langage SQL pour la gestion des bases de données.

Exemples d'usage

  • Enregistrer l'âge d'un utilisateur (qui dépasse rarement 120).
  • Stocker le nombre de pages d'un chapitre de livre.
  • Indiquer le numéro d'un département ou d'une région.

Cas d'usage

On le retrouve essentiellement dans la structuration des bases de données (PostgreSQL, MySQL, SQL Server) et dans certains langages de programmation pour optimiser la consommation de la mémoire vive (RAM) lors du traitement de listes de nombres très volumineuses.

Bonnes pratiques

Il ne faut utiliser ce type que si l'on est absolument certain que la donnée ne franchira jamais le plafond autorisé (généralement 32 767). Il est fortement déconseillé pour des identifiants (ID) qui augmentent automatiquement, car on atteint vite la limite sur un site qui grandit.

Synonymes

short short int entier court int2

Antonymes

bigint entier long long

Conseil

Si vous débutez et que vous n'avez pas de contraintes de stockage strictes, utilisez un type INT standard par défaut. Cela évite les erreurs de dépassement de capacité (overflow) si vos données deviennent plus grandes que prévu.

Questions fréquentes

Quelle est la différence entre INT et SMALLINT ?

Un INT occupe généralement 4 octets et peut aller jusqu'à 2 milliards, tandis qu'un SMALLINT n'occupe que 2 octets mais s'arrête à environ 32 000.

Pourquoi utiliser un smallint sur des serveurs modernes ?

Sur des milliards de lignes de données, diviser par deux l'espace d'une colonne réduit massivement la taille de la base et accélère les transferts réseau.