Sample Header Ad - 728x90

Why Azure SQL Server table used space is too high?

1 vote
1 answer
157 views
I have two tables in my SQLServer database (azure managed), and the structure of two tables as below (for easy reference renamed them) **dbo.TABLE1** CREATE TABLE [dbo].[TABLE1] ( [ID] VARCHAR (50) NOT NULL, -- PK index [S_NUMBER] VARCHAR (50) NOT NULL, [MAKE] VARCHAR (12) NULL, [MODEL] VARCHAR (40) NULL, [C_ID] VARCHAR (50) NOT NULL, [C_CODE] REAL NULL, [C_DESCRIPTION] VARCHAR (50) NULL, [S_CODE] REAL NULL, [S_DESCRIPTION] VARCHAR (50) NULL, [LS_TIME] DATETIME2 (7) NOT NULL, [LE_TIME] DATETIME2 (7) NOT NULL, [YEAR] DATE NULL, [MONTH] DATE NULL, [WEEK] DATE NULL, [DAY] DATE NULL, [HOUR] DATETIME2 (7) NULL, [WEEK_DAY] VARCHAR (12) NULL, [F_USED] REAL NULL, [F_USED_UOM] VARCHAR (12) NULL, [DIST_TRAVE] REAL NULL, [DIST_TRAV_UOM] VARCHAR (12) NULL, [DURATION] REAL NULL, [DURATION_UOM] VARCHAR (12) NULL, [WEIGHT_MOVED] REAL NULL, [WEIGHT_STORED] REAL NULL, [WEIGHT_UOM] VARCHAR (12) NULL, [CREATED_TIME] DATETIME NULL, [MODIFIED_TIME] DATETIME NULL, [OPER_ID] VARCHAR (12) NULL, [OPER_TYPE] VARCHAR (12) NULL, [START_TIME] DATETIME2 (7) NULL, [END_TIME] DATETIME2 (7) NULL, [UTC_DAY] DATE NULL, [UTC_WEEK] DATE NULL, [UTC_MONTH] DATE NULL, [UTC_YEAR] SMALLINT NULL, [UTC_HOUR] TINYINT NULL, [LOCAL_HOUR] TINYINT NULL, [EFFICIENCY] DECIMAL (5) NULL, [JS_ID] BIGINT NOT NULL, [L_ZONE] NVARCHAR (50) NULL, [D_ZONE] NVARCHAR (50) NULL, [SHIFT_TYPE] NVARCHAR (12) NULL, [SHIFT_DATE] DATE NULL, [D_CATEGORY] NVARCHAR (50) NULL, [REC_CATEGORY] NVARCHAR (12) NULL, [LSERIAL_NUMBER] VARCHAR (50) NULL, [GPS_TIME] DATETIME NULL, [GPS_STATUS] VARCHAR (12) NULL, [A_ID] VARCHAR (50) NULL, [E_ID] VARCHAR (50) NULL, [TAG_GUID] VARCHAR (64) NULL, [LZ_ID] VARCHAR (64) NULL, [DZ_ID] VARCHAR (64) NULL, [LZ_VERSION] INT NULL, [DZ_VERSION] INT NULL, [Z_ID] BIGINT NULL, [SHIFT_ID] NVARCHAR (64) NULL, [LI_TIME] DATETIME2 (3) CONSTRAINT [S_CREATED_TIMESTAMP] DEFAULT (sysdatetime()) NULL, [PC_ID] INT NOT NULL DEFAULT 0, [L_MAKE] VARCHAR (32) NULL, [TV_MOVED] DECIMAL (18, 2) NULL ); **dbo.TABLE2** CREATE TABLE [dbo].[TABLE2]( [ID] NVARCHAR(32) NOT NULL, -- PK index [C_ID] NVARCHAR(64), [DURATION] DECIMAL(18,2), [P_COUNT] BIGINT, [LS_TIME] DATETIME, [LE_TIME] DATETIME, [S_AGG_ID] NVARCHAR(32) -- FK index ) **dbo.TABLE2** is subset of **dbo.TABLE1** with only 5 columns, and the row count is same. We capture only 5 columns from **dbo.TABLE1** and insert in **dbo.TABLE2**. But the size(space used) of **dbo.TABLE2** is almost **3 times** the **dbo.TABLE1**. **Indexes:** Apart from **PK**, **FK** indexes we have one additional index on **dbo.TABLE1** with include columns [JS_ID, MAKE, S_NUMBER, TAG_GUID, LE_TIME] Why the space used is too high for smaller table even though row count is same as its source table? enter image description here
Asked by Lovababu
Jul 18, 2020, 05:00 AM
Last activity: Jul 13, 2025, 03:02 AM