The 15-Year Detour: How the Data Industry Spent Billions Reinventing SQL

Illustration of three stacked database storage units of differing heights against abstract chart shapes

Somewhere around 2020, the data world quietly arrived at a conclusion that Teradata engineers could have told you in 1984: SQL on a massively parallel architecture is a pretty good way to process large volumes of data. The path to get there was anything but quiet. It involved billions in capital, an entire generation of …

Read more

Improving SQL Performance with Simple Query Rewrites: Dealing with Duplicates and Business Calendars

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

The Teradata flavor of SQL is still, in principle, a declarative language. Hence, there can be multiple ways to describe an SQL query and achieve the same result. While the answer is the same, Teradata may use a completely different execution plan based on how the query is expressed. One approach is investing in heavy …

Read more

Negative Impact of Applying Functions to Join Columns in Teradata Joins: Performance Implications and Solutions

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

Functions on Join Columns and Their Impact on Teradata Performance In many Teradata systems, developers apply functions directly in join conditions to work around data-model inconsistencies.While this approach might seem harmless, it can dramatically affect optimizer decisions and query performance — and often reveals deeper data-model issues. Example of a Problematic Join Applying functions to …

Read more

Date ranges and business calendars beyond recursion and Teradata SYS_CALENDAR

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

In a previous article, Roland explained how to use recursion to build a data range without touching a physical table. This time, we explore an alternative approach that avoids recursion at the expense of single-AMP, single-row access. We can use this approach to build both a wide date range as well as a narrow one. We …

Read more

Teradata – Merging two change history tables

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

Have you encountered a poorly designed physical data model where object columns are distributed randomly across tables, and you wish to unify them in their rightful place? Merging non-historical tables is simple, but the process becomes more complex when historization is applied to at least one of the tables. Change history tables are typically complex. …

Read more

Teradata Set Operators: Understanding UNION vs. UNION ALL for Peak Performance Optimization

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

In this article, we will delve into the world of Teradata set operators, exploring their functionality, applications for attaining peak performance, and the optimization techniques employed by Teradata. Teradata UNION vs. UNION ALL What sets UNION apart from UNION ALL in Teradata? The Teradata UNION operator combines the results of two or more queries, removing …

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 AS BIGINT NOT NULL, FLIGHTDATE AS DATE NOT NULL, NR_FLIGHTS INTEGER NOT NULL ) …

Read more

How to Find ASCII Code of a Character Using Teradata SQL

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

This course focuses on Teradata indexing techniques. In this two-hour video, you will learn about Teradata’s architecture and Full Table Scans, different types of Primary Index Access such as UPI and NUPI, diverse Secondary Index Access including USI and NUSI, and Join Indexes. You will gain the comprehensive knowledge required to create an ideal indexing …

Read more

DWHPro

Expert network for enterprise data platforms. Senior consultants, project teams built for your challenge — across Teradata, Snowflake, Databricks, and more.

📍Vienna, Austria & Jacksonville, Florida

Quick Links
Services Team Teradata Book Blog Contact Us
Connect
LinkedIn → [email protected]
Newsletter

Join 4,000+ data professionals.
Weekly insights on Teradata, Snowflake & data architecture.