Native tables store data physically in Azure Synapse Analytics. Since data is stored directly within Azure Synapse, querying native tables generally yields faster performance, especially for large datasets. Data stored in native tables benefit from the inherent capabilities of Synapse, like indexing, statistics, and partitioning.
You can use Native Tables
- To get the best performance for your query workloads.
- If your dataset is integral to your analytics and frequently queried.
- If you need the advantages of Azure Synapse's built-in data management features.
External tables do not physically store data in Azure Synapse Analytics. They instead point to data in Azure Blob Storage or other external sources. External tables allow you to define the structure on top of the data, allowing you to query it without importing it into Synapse. Because the data must be read from an external source, performance may be slower than with native tables, especially if there is a large amount of data to process. External tables primarily make use of the storage capabilities of the external storage system, whether blob storage or data lakes. This means you won't have access to Synapse's inherent management features, such as indexing.
You can use External Tables
- Data is stored in Azure Blob Storage or etc. and want to query it without moving the data into Synapse.
- For External datasets that aren't frequently accessed or changed.
- When you want to combine data or quest data from different sources.
- Keeping data in blob storage or data lakes might be cheaper than storing it directly in Synapse.