Use Test Go Create Table DBO. [ Table_datetype_tinyint ] ( [ F_d_tinyint ] Tinyint Not Null ) On [ Primary ] Go -- Input statement -- Enter 256 data entries into the test table Declare @ I Tinyint Select @ I = 0 Set Nocount On While ( @ I <= 255 ) Begin Insert Into Test. DBO. table_datetype_tinyint Values ( @ I ); If ( @ I <= 254 ) Select @ I = @ I + 1 Else Break ; End Set Nocount Off Select * From Test. DBO. table_datetype_tinyint -- Query the page distribution of a table DBCC Traceon ( 3604 ) Go DBCC Extentinfo (test, table_datetype_tinyint) Go -- Query data page content DBCC Traceon ( 3604 ) Go DBCC Page (test, 1 , 155 , 1 ) -- Tinyint 9 DBCC Page (test ,) -- Analysis /* ------------------------------------------- The data stored in the tinyint data type itself requires only one byte, but when it is stored as a table column, it requires nine bytes to store one of the nine Bytes: it is one byte of the data itself: because no index is created, the table data is stored in the heap mode, and the null margin is three Bytes: the space graph is used to indicate that the column is empty, the calculation method is 2 + (total number of columns + 7)/8, and an integer is taken up. Here, one table column is displayed, so the calculation result is 34 Bytes: Column Title used to store data rows */ -- The above is only an example. You can refer to the task type.