DWHPro Insights

Insights

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

The Pitfalls of Teradata SELECT * Queries

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

Introduction In a row-oriented database engine like Teradata, data is organized and stored in units called data blocks. Each data block features a fixed header and accommodates multiple rows. Every row consists of a record header followed by its corresponding columns. When a database retrieves and stores a data block in the cache, it accesses …

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 Popular

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

Introduction to Apache Spark: A Powerful Solution for Big Data Processing and Analytics

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

Introduction Processing and analyzing large volumes of data quickly and efficiently is essential in today’s data-driven world. Apache Spark, an open-source big data processing engine, is a leading solution for handling massive datasets that offers a fast and flexible alternative to traditional data processing frameworks like Hadoop’s MapReduce. This article introduces Apache Spark, explores its …

Read more

Filter efficiently with Teradata NOS Popular

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

Teradata NOS facilitates querying data in an S3 object store with ease. To attain maximum performance, partitioning external data is crucial for efficient reading. This article outlines the key considerations for optimal efficiency when reading data from the object store. Use an authorization method supported by the target object store and database release. The placeholders …

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 using a one-row metadata source whose AMP access depends on the plan. We can use this approach to build both a wide date range and …

Read more

Teradata strtok_split_to_table, CSVLD, Unpack: Column Splitting in Teradata Widely read

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

Splitting column content can be a challenging task. Teradata provides multiple methods to achieve this, each with unique pros and cons. In this article, we will examine these techniques in detail. To begin, we will generate a table containing sufficient random data to assess every option’s efficiency and resource utilization. The Teradata “CSVLD” Function This …

Read more

Comparing Index Types of SQL Server and Teradata: Clustered vs Row Partitioning, Non-clustered vs NUSI, USI, Join Index, and More

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

This article compares the index types in SQL Server and Teradata. It can benefit those transitioning between the two platforms to understand their distinctions and overlaps, despite their different architectures. Clustered Index vs Teradata Row Partitioning SQL Server clustered indexes store the table rows at the B-tree leaf level. Range seeks and Teradata partition elimination …

Read more

A Beginner’s Guide to Teradata Multiload and Fastload Most read

Icon of a chrome hammer inside an orange circle over a brick pattern

Introduction to Teradata Multiload and Fastload MultiLoad does not run in isolation: how the utilities are throttled as a workload of their own and the smaller-volume alternative in BTEQ. Next steps Next: query logging Review: SET and MULTISET tables Return to the Teradata learning path