A Shot of SQLEspresso

SQL Blogs by Monica Morehouse (Rathbun)

  • Home
  • Session Downloads
  • Event Calendar
  • PASS
    • Hampton Roads SQL User Group
    • SQL Saturday
    • PASS WIT VC
  • DCAC
  • Contact Me
    • Disclaimer
  • Home
  • Session Downloads
  • Event Calendar
  • PASS
    • Hampton Roads SQL User Group
    • SQL Saturday
    • PASS WIT VC
  • DCAC
  • Contact Me
    • Disclaimer

No Widgets found in the Sidebar Alt!

  • Performance Tuning

    String Split Function in SQL Server

    February 12, 2020 /

    Did you know that a native STRING_SPLIT function built into SQL Server was added into SQL Server 2016? As a consultant I see so much code that call out to a scalar function that are used to split out string delimited variables into a usable list. For those that use this method I suggest you look at this function. STRING_SPLIT is a table valued function that returns a single column of your string values split out by the delimiter. This is an unusual bit of T-SQL, in that compatibility level 130 or higher is required for its use (Microsoft didn’t want to induce breaking changes into existing user code). Using…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Quick Tip: Remove CONVERT\CAST from your WHERE\JOIN clauses

    March 28, 2022

    The Case of the Forgotten Compatibility Mode – Scooby Dooing Episode 3

    September 3, 2025

    T-SQL Tuesday #84 – Helping New Speakers

    November 8, 2016
  • Performance Tuning

    Sorting in Stored Procedures – Food for Thought

    January 29, 2020 /

    We know that sorting can be one of the most expensive things in an execution plan as shown below. However,  we continue to do ORDER BYs repeatedly. Yes, I 100% agree that there is a need to sort a results set and that this should be done in the procedure for good reason, but my concern is having  multiple sorts, erroneous sorts, and the sorts that can be done elsewhere. These are the ones that waste resources and can stifle performance. Many of us writing procedures tend to write in code blocks. We write the SELECT, JOINS, FROMs and WHERES then immediately follow it up with and ORDER BY as…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Cycle SQL Server Error Logs

    September 26, 2018

    Importance of Statistics in SQL Server

    May 30, 2018

    Back up Encryption for SQL Server

    September 5, 2018
  • Performance Tuning

    In Memory Table Indexes

    January 22, 2020 /

    Now that I have written about In-Memory Tables and Migrating to In-Memory tables, let’s look at indexes and how they are created and how they work within those tables. As you can imagine indexes, called memory optimized indexes are different for these types of tables, so let’s see just how different that are from regular tables. Before we dive into this subject it is VERY important to note the biggest differences. First,  If you are running SQL Server 2014 memory optimized indexes MUST be created when the table is created or migrated. You cannot add indexes in an existing table without dropping and recreating the table. After 2016 you now…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Master of None

    October 8, 2015

    How Your Hypervisor Can Impact Your CPU

    March 6, 2019

    Add Azure Cache for Redis to Your Azure SQL Performance Tuning Toolbox

    July 14, 2021
  • Performance Tuning

    Memory Optimizer Advisor

    January 15, 2020 /

    Previously I wrote about In-Memory Optimized Tables, in this blog I am going to discuss how to determine which tables could benefit from being In-Memory by using a tool called Memory Optimization Advisor (MOA). This a is a tool built into SQL Server Management Studio (SSMS) that will inform you of which tables could benefit  using In Memory OLTP capabilities and which may have non supported features. Once identified, MOA will help you to actually migrate that table and data to be optimized. Let’s see how it works by walking through it using a table I use for demonstrations in AdventureWorks2016CTP3. Since this is a smaller table and doesn’t incur…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Initial SQL Server Configurations

    October 19, 2015

    Master of None

    October 8, 2015

    How to get started with Always Encrypted for Beginners Part 1

    November 29, 2017
  • Performance Tuning

    Memory Optimized Tables in SQL Server

    January 8, 2020 /

    Sometimes when I try to learn about a concept my brain blocks out everything about it. Talking about anything that uses the “In Memory” concept tends to do this to me on occasion. It’s important to note that “In Memory” is a marketing term for a series of features in SQL Server that have common behaviors but are not inherently related. So, in my next few blogs I am going to attempt to explain some In-Memory concepts as it relates to SQL Server starting with a dive into Memory Optimized Tables. I’ve already written about Columnstore which has vastly different use cases to In Memory OLTP, and you can find…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Eliminating Unnecessary DELETE Operations

    February 27, 2025

    Expanding My Reach

    February 7, 2018

    Comparing Execution Plans

    June 19, 2019
  • Performance Tuning

    Trace Flags That Are Now Defaulted Behaviors in SQL Server

    December 18, 2019 /

    If you have ever attended one of my performance tuning sessions, you know I tend to talk about  trace flags.  Trace Flags can help fix performance issues and some are now defaulted in later SQL Server versions. In my opinion, when a trace flag’s behavior defaulted in a version, then you should potentially put them in place within environments that do not have them implemented. Below, are a few of these particular traces flag along with Microsoft’s definition of what each trace flag does, taken straight from MS documents.  I have also included a brief commentary on each one.  As with any change, you should be sure to thoroughly test…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    5 Ways to Examine Cardinality Metrics

    May 2, 2018

    SQL Data Discovery and Classification in SSMS 17.5

    December 5, 2018

    The Case of the Forgotten Compatibility Mode – Scooby Dooing Episode 3

    September 3, 2025
  • Performance Tuning

    Introduction to the performance features on SQL Server on Linux

    December 4, 2019 /

    I’ve been tinkering with SQL Server on Linux lately and noted a few things in regards to performance I thought I would share with you. SQL Server 2019 on Linux uses the same SQL Server database engine with many of the performance features and services you would find on Windows. There are more similarities than you would initially think. However, if you’re a Linux user who is new to SQL Server, I thought the following introduction to some performance features on SQL Server 2019 on Linux will be helpful. Columnstore index As I’ve written about before in my 3-part blog series that you can find here, a columnstore index allows…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    SSRS Report Won’t Render in VS Preview

    April 12, 2016

    SQL Data Discovery and Classification in SSMS 17.5

    December 5, 2018

    Respectfully Responding

    June 14, 2018
  • Back to Basics

    Install ALL Things SQL Server… What?

    November 26, 2019 /

    Does your server look like this? Many of us have inherited a SQL Server instance that has all SQL Services installed. Someone, maybe even you, went through the SQL Server installation process using GUI and checked every option available to them, then just clicked Next, Next, Next and then Install. If this is your environment, please take a moment to evaluate and decide which of these services that are required. From a performance tuning perspective, it is important to only run the services that you need. Each of these services can consume resources on your server. Sharing resources reduces what youe SQL Server Engine, SQL Server (MSSQLSERVER) or named instance…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Synchronous VS Asynchronous Statistics Updates

    October 25, 2017

    Quick Tip: Remove CONVERT\CAST from your WHERE\JOIN clauses

    March 28, 2022

    T-SQL Tuesday #84 – Helping New Speakers

    November 8, 2016
  • Azure

    Simple-Talk Article…Understanding Azure Storage Options

    November 20, 2019 /

    Simple- Talk is technical journal and community hub from Redgate. This week I have the pleasure of being a guest Author and explain Azure storage options. I cover types of storage accounts, supported services, what performance tiers work with each storage account, and what kind of access you have with those storage types. Be sure to check it out. Here’s an excerpt…. Editor’s Intro: The choices found when provisioning storage in Azure can be overwhelming. In this article, Monica Rathbun explains the options to help your organization research which storage might be right for your solution. Understanding Azure Storage Options Azure can be a complicated mess of alphabet soup with all the acronyms…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    Admit You Can’t Do Everything

    September 28, 2015

    How to get started with Always Encrypted for Beginners Part 1

    November 29, 2017

    How Your Hypervisor Can Impact Your CPU

    March 6, 2019
  • Speaking,  Summit

    I’m Speaking at Pass Summit 2019

    November 1, 2019 /

    I am very excited to be heading to PASS Summit 2019 in Seattle next week. It’s one of my favorite weeks of the year. Getting to hang out with and learn from so many data professions is priceless. I am even more excited this year because I will be giving a Pre Con and a regular session for the first time at Summit. If you have ever attended one of my sessions, you know how passionate I am about speaking and being able to share my knowledge. What is PASS Summit? According to PASS it’s “Interactive training on the latest technologies and spotlights on hot topics such as security, cloud,…

    Read More
    Monica Morehouse (Rathbun)

    Related Posts

    QUICK & DIRTY: Table name change for all stored procedures

    December 10, 2015

    Template Explorer Gold Mine in SQL Server Management Studio

    March 27, 2018

    Caution When Dropping Unused Indexes on an Azure SQL Database

    August 12, 2020
34567

About Me

Monica Morehouse (Rathbun)

Microsoft MVP, Performancing Tuning Expert, Leader Hampton Roads SQL Server User Group, Read More…

Consulting

Sessions List

Favorite Tidbits

  • Reminder to Developers

Topic Categories

  • Azure
  • Back to Basics
  • Configurations
  • Data Masking
  • DevOps
  • Encryption
  • Idera Ace
  • Important Links
  • Indexes
  • Lone DBA
  • Misc
  • MVP
  • New SQL Version
  • Performance Tuning
  • Posts with Scripts
  • Problems & Solutions
  • Quick and Dirty
  • Security
  • Speaking
  • SQL Family
  • SQLSaturday
  • SSRS
  • Summit
  • Training
  • TSQL Tuesday
  • Uncategorized

Top Posts & Pages

  • Resizing Tempdb (When TEMPDB Wont Shrink)
    Resizing Tempdb (When TEMPDB Wont Shrink)
  • What’s a Key Lookup?
    What’s a Key Lookup?
  • It's All in the Name, Index Naming Conventions
    It's All in the Name, Index Naming Conventions
  • Tempdb Performance Improvements in SQL Server 2022 are Dramatic
    Tempdb Performance Improvements in SQL Server 2022 are Dramatic
  • Memory Optimized Tables in SQL Server
    Memory Optimized Tables in SQL Server
  • How to get started with Always Encrypted for Beginners Part 1
    How to get started with Always Encrypted for Beginners Part 1
  • The Mystery of the Locked-Up Database -Scooby Dooing Episode 6
    The Mystery of the Locked-Up Database -Scooby Dooing Episode 6
  • Understanding Columnstore Indexes in SQL Server Part 2
    Understanding Columnstore Indexes in SQL Server Part 2
  • The Case for Scooby-Dooing: Solving SQL Server Mysteries Like a Pro– Scooby Dooing Episode 8
    The Case for Scooby-Dooing: Solving SQL Server Mysteries Like a Pro– Scooby Dooing Episode 8
  • Please Don’t Do This! Default Index Fill Factor
    Please Don’t Do This! Default Index Fill Factor
Graceful Pro Theme by Optima Themes - 2026 ©
 

Loading Comments...