Category: Development

  • Getting started with Godot

    Getting started with Godot

    Over the last couple of months I’ve been having fun playing around with the Godot game engine. At first, I gravitated to the systems and back-end aspect of game development. My first version was a LAN connected multiplayer framework which could only go as far as connection and client synchronization. Peer to peer RPCs were […]

  • Musings of a DevOps Data Pro

    Musings of a DevOps Data Pro

    Continuous delivery and automation are a couple of core concepts of DevOps. As a Data Professional, I have spent countless hours pushing through the resistance of people who feel the data tier should be left out of source control, automated deployments, and who feel the need to make the data tier a separate work stream […]

  • Transact-SQL STRING_AGG

    Transact-SQL STRING_AGG

    Creating comma separated strings from a column, or delimited strings as I like to call it, is a very common problem in SQL. Beginning with SQL Server 2017 and Azure SQL Database, there is now another option to the existing set of solutions, STRING_AGG(). I would like to convince you to use STRING_AGG over the […]

  • SQL query performance tuning tips for non-production environments

    SQL query performance tuning tips for non-production environments

    It is a common misconception that you need real production data, or production like data, to effectively tune queries in SQL Server. I am going to explain how you can compile the same execution plans as what your production environment would compile, so that you can tune them in a non-production environment, gaining these benefits. […]

  • Redgate SQL Prompt Grid Features

    Redgate SQL Prompt Grid Features

    I love Redgate tools. Most of all, I love SQL Prompt because its features increase my productivity on a daily basis. Recently I discovered a couple of new features for the SQL Server Management Studio results grid. The usefulness of these features is incredible. Script to Insert By selecting rows from the results grid, you […]

  • Heap tables in SQL Server

    Heap tables in SQL Server

    In the last post of this blog series, I discussed what a B-Tree index was and briefly explained its history. Before we dive into the indexes which SQL Server uses, it is important to set the foundation of data structures. The most basic table that you can create is a heap. A heap is an unsorted […]

  • The ‘B’ in B-Tree – Indexing in SQL Server

    The ‘B’ in B-Tree – Indexing in SQL Server

    Some people advocate we should count by twelve rather than ten. This is because you can easily count the twelve segments of your fingers by using your thumb as a pointer. With that method, you can count the number of indexes in SQL Server on one hand. That’s right, twelve different types of indexes. Many […]

  • T-SQL Tuesday #74 – Be the change (MERGE static data)

    T-SQL Tuesday #74 – Be the change (MERGE static data)

    Each month, on the first Tuesday of the month, the announcement for the blog party T-SQL Tuesday comes out. Those that are interested then post their blogs, on the subject selected, on the second Tuesday of the month. If you’ve never heard of T-SQL Tuesday it’s a blog party started by Adam Machanic (b/t) over […]

  • T-SQL Search Snippets

    T-SQL Search Snippets

    Here are two snippets that I use often to search for objects on a variety of servers. The first will search any object within a database and the second will search various elements of SQL Agent jobs. Object search [sql]USE [$databaseName$] DECLARE @keyword VARCHAR(128) = ‘$keyword$’ SELECT o.[type_desc] , s.name [schema] , o.name [table] , […]

  • Counting NULLs and sub-sets of data

    Counting NULLs and sub-sets of data

    Quick Tip: Counting NULLs and sub-sets of data You have been asked to produce a chart which will visualize a few data points. Total work orders. Total closed work orders (work orders with EndDate populated). Total open work orders (work orders with a NULL EndDate). Total work orders with excessive scrap material (work orders with […]