Automatically detect bad SQL. Static and dynamic analysis of SQL code

Preventing Query Catastrophe with FlowHigh SQL Analyser Does the following sound familiar? As the wizard EsQuEl delved deep into the SQL code, he stumbled upon multiple instances where tables were…
Uli Bethke September 8, 2023

Parsing SQL queries in MS SQL Server

This is the third article in our series on parsing SQL in different database technologies and SQL dialects. We explored SQL parsing on Snowflake and then Oracle in our earlier…
Uli Bethke September 4, 2023

Bad SQL. SQL anti patterns in OUTER joins

You often need to find both matched and unmatched rows between two or more tables. As we all know we use OUTER joins in SQL to achieve this. However, there…
Uli Bethke August 29, 2023

How Snowflake EXCLUDE and ILIKE protects you from bad SQL. ILIKE it like that.

One of the most common and impactful SQL anti patterns is the use of SELECT *. In this article we will explain what an SQL anti pattern is and how…
Uli Bethke August 16, 2023

From Code to Clarity: Visualizing SQL code for Documentation and Debugging

In this post we will show you how you can create a visual diagram of your SQL code. We will use the FlowHigh SQL visualiser to achieve this. FlowHigh is…
Uli Bethke May 29, 2023

Improving performance and reducing costs with Materialised Views on Snowflake

What are Materialised Views? Materialised Views are similar to Views. A View is a logical or virtual table representing the result of a query. Each time the View is queried…
Uli Bethke November 18, 2022
spinner