Leftover Digits Number of Bytes 0 0 1 1 2 1 3 2 4 2 5 3 6 3 7 4 Data Type Storage Required TINYINT 1 byte SMALLINT 2 bytes MEDIUMINT 3 bytes INT ,  INTEGER 4 bytes BIGINT 8 bytes FLOAT( p ) 4 bytes if 0 <=  p  <= 24, 8 bytes if 25 <=  p  <= 53 FLOAT 4 bytes DOUBLE [PRECISION] ,  REAL 8 bytes DECIMAL( M , D ) ,  NUMERIC( M , D ) Varies; see following discussion BIT( M ) approximately ( M +7)/8 bytes Numeric Type Storage Requirements and  INTEGER  ( INT ) column types each require 4 bytes storage per record due to the alignment factor. Each  BIT( M )  column takes  M  bits of storage space. Although an individual  BIT column is  not  4-byte aligned,  NDB  reserves 4 bytes (32 bits) per row for the first 1-32 bits needed for  BIT  columns, then another 4 bytes for bits 33-64, and so on. While a  NULL  itself does not require any storage space,  NDB  reserves 4 bytes per row if the table definition contains any columns allowing  NULL , up to 32  NULL columns. (If an NDB Cluster table is defined with more than 32  NULL  columns up to 64  NULL  columns, then 8 bytes per row are reserved.) Every table using the  NDB  storage engine requires a primary key; if you do not define a primary key, a “hidden”  primary key is created by  NDB . This hidden primary key consumes 31-35 bytes per table record. You can use the  ndb_size.pl  Perl script to estimate  NDB  storage requirements. It connects to a current MySQL (not NDB Cluster) database and creates a report on how much space that database would require if it used the  NDB  storage engine. See Section 23.4.28, “ndb_size.pl — NDBCLUSTER Size Requirement Estimator”  for more information. Values for  DECIMAL  (and  NUMERIC ) columns are represented using a binary format that packs nine decimal (base 10) digits into four bytes. Storage for the integer and fractional parts of each value are determined separately. Each multiple of nine digits requires four bytes, and the “leftover”  digits require some fraction of four bytes. The storage required for excess digits is given by the following table. 2088 Numeric Type Storage Requirements