DWHPro Insights

Insights

327 technical articles on Teradata, Snowflake, Databricks, SQL tuning and data warehouse architecture — written from production experience, not vendor decks.

Teradata Table Design Checklist: Primary Index, Character Set, and Data Type Considerations Popular

Illustration of a stopwatch dial on an orange paint-splash background

Teradata Table Design Checklist As creating tables is a frequent task, I deemed it necessary to provide a checklist. 1. Primary Index Or NOPI Table? The Primary Index serves multiple purposes, primarily functioning as the primary access path to the data and being optimized for an even distribution of rows. However, designing a table without …

Read more

Teradata Query Parallelism: A closer look at how Teradata’s shared-nothing architecture and parallel processing capabilities deliver exceptional performance. Popular

Illustration of three stacked database units of differing heights inside a circle

Teradata Query Parallelism Teradata can execute scans, joins, sorts and aggregations in parallel. The chosen plan determines how many AMPs participate; a primary-index lookup can use one AMP, and dependencies may serialize parts of a request. Teradata’s uniqueness lies in its ability to apply parallelism at every step of the query process. This advantage resulted …

Read more

The Importance of Teradata Surrogate Keys Popular

Illustration of a dense isometric network of connected data nodes

What are Teradata Surrogate Keys? A surrogate key is an artificial identifier mapped to a natural key, often INTEGER or BIGINT. Generated identity values need not be gapless or globally increasing in insertion or retrieval order. We can use the ROW_NUMBER() function in Teradata to programmatically generate the surrogate key or an IDENTITY column for …

Read more

Why Teradata’s LIKE operator behaves differently for CHAR and VARCHAR columns

Illustration of a glossy orange database cylinder with data fragments across its surface

Have you observed the different behavior of the Teradata LIKE operator when applied to a CHAR or VARCHAR data type column? Consider the following table as an illustration: Creating a table: To illustrate, we will add a single row. We will run the SQL statement for the column with the VARCHAR data type. Next, we …

Read more

Advanced GROUPING Methods in Teradata SQL: GROUP BY GROUPING SETS, ROLLUP, and CUBE

Illustration of a glossy orange database cylinder with data fragments across its surface

Teradata SQL and Advanced GROUPING Functions The advanced GROUPING functions will be demonstrated through the following example. The foundation of this demonstration is a table consisting of the flight count for each aircraft and date: CREATE MULTISET TABLE Flights ( PLANE BIGINT NOT NULL, FLIGHTDATE DATE NOT NULL, NR_FLIGHTS INTEGER NOT NULL ) PRIMARY INDEX …

Read more

Optimizing Teradata System Performance: Identify and Improve Resource-Consuming Queries

Illustration of a stopwatch dial on an orange paint-splash background

This query analyzes DBQL query records, not individual execution steps. It requires populated logging data. HASHAMP()+1 is only appropriate when it matches the participating-AMP scope; adapt that input for maps and restricted-AMP work. Ties in Wasted_CPU need a stable query identifier for reproducible ranks. Zero total waste returns NULL rather than a percentage. Improve the Performance of …

Read more

Achieve Incredible Teradata Join Performance

Illustration of a stopwatch dial on an orange paint-splash background

Executive summaryGUEST POST BY ARTEMIY KOZYR Today I shed some light on how Data Warehousing lies at the core of Retail Banking operations. We will see the actual case of vital marketing process malfunction and dive deep under the surface level to comprehend data alchemy technical issues. You will learn how to approach such issues, …

Read more

Teradata Multivalue Compression and Presence Bytes for NULL Values

Illustration of a stopwatch dial on an orange paint-splash background

Multivalue compression and null indication serve distinct purposes yet share a common objective of storing information about the values of each row’s columns. To conserve space, Teradata utilizes presence bytes to retain information on multivalue compression and nullability. Readers familiar with earlier releases will recognize that the name “presence byte” originally referred only to NULL …

Read more

Protected by Security by CleanTalk