Synapse dedicated pool: pick smallest types to shorten rows
Table data types in Synapse SQL - Azure Synapse Analytics
Microsoft Learn recommendations for Synapse SQL Dedicated Pool table data types, row length, PolyBase limits, and finding unsupported types when migrating.
Based on
Table data types in Synapse SQL - Azure Synapse Analytics
Recommendations target Synapse SQL Dedicated Pool table definitions; serverless readers are pointed elsewhere. Supported types are the common set documented on CREATE TABLE. Minimizing data type size shortens rows and is said to improve query performance: use the smallest type that fits; avoid oversized character defaults (for example VARCHAR(25) when the longest value is 25 characters); prefer VARCHAR over NVARCHAR when Unicode is unnecessary; prefer NVARCHAR(4000) or VARCHAR(8000) over MAX variants; replace floats and decimals with scale zero with TINYINT, SMALLINT, INT, or BIGINT.
If PolyBase external tables load Synapse SQL tables, defined row length cannot exceed 1 MB; oversized variable-length rows may load with BCP but not PolyBase. For migrations from other SQL databases, a system-catalog query is provided to list unsupported data types in the existing schema. A tip promotes Fabric Data Warehouse for new warehousing and upgrades from dedicated SQL pool workloads.
Type choices are the physical encoding of field meaning—precision, nullability capacity, and loadability. Data engineering and contract work depend on those choices staying explicit so downstream schemas, exports, and engines agree on what each column can hold. Finding unsupported types before migration keeps the shared schema from silently breaking at load time.
Put this to work on CoreModels
Related connectors and recipes
Take the next step
Try CoreModels, talk with our team, or explore more resources.