From 931aadf8eb8c2815a1fd0a66e7a14e0a55521d73 Mon Sep 17 00:00:00 2001 From: Erik Darling <2136037+erikdarlingdata@users.noreply.github.com> Date: Mon, 6 Apr 2026 08:10:02 -0400 Subject: [PATCH] Add READ UNCOMMITTED isolation level to schema queries Prevents schema lookup queries from blocking on busy servers. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/PlanViewer.Core/Services/SchemaQueryService.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/PlanViewer.Core/Services/SchemaQueryService.cs b/src/PlanViewer.Core/Services/SchemaQueryService.cs index 2b146e4..2105654 100644 --- a/src/PlanViewer.Core/Services/SchemaQueryService.cs +++ b/src/PlanViewer.Core/Services/SchemaQueryService.cs @@ -50,6 +50,7 @@ public sealed class ColumnInfo public static class SchemaQueryService { private const string IndexQuery = @" +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT i.name AS index_name, i.type_desc AS index_type, @@ -108,6 +109,7 @@ AND i.type > 0 ORDER BY i.index_id;"; private const string ColumnQuery = @" +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT c.column_id AS ordinal_position, c.name AS column_name, @@ -139,6 +141,7 @@ FROM sys.columns AS c ORDER BY c.column_id;"; private const string ObjectDefinitionQuery = @" +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT OBJECT_DEFINITION(OBJECT_ID(@objectName));"; public static async Task> FetchIndexesAsync(