Оптимизация SQL - медленная конвертация таблицы в строку
Самый простой способ трансформации из таблицу в строку:
declare @s nvarchar(max) = ''
select @s= @s + Value
from t1
Однако при большом количестве строк / данных этот способ работает медленно.
Гораздо быстрее работает связка временной таблицы и STUFF.
DROP TABLE IF EXISTS #t
CREATE TABLE #t (st nvarCHAR(max))
insert into #t (st)
select value from table1
declare @s nvarchar(max) = STUFF((
SELECT st FROM #t
FOR XML PATH(''), TYPE).value('.','nvarchar(max)') ,1,0, '')
drop table #t
Вместо select value from table1 может быть сколь угодно сложный запрос со своей генерацией текста (например, html разметка).
Что еще посмотреть по SQL Server
Способы оптимизации SQL запросов с примерами
Как найти медленные проблемные запросы SQL Server. Оптимизация быстродействия SQL Server
SQL Server. Работа с индексами через запросы SQL
Где ставить индексы SQL Server
Оптимизация SQL запросов, план запроса в SQL Server
Решение проблем с большим кешем запросов SQL Server
Инструмент для анализа производительности запросов SQL Server Query Store
SQL Server Как найти запросы с проблемами (warning) в плане выполнения запроса (SQL Plan)
Анализ статистики по индексам в базе данных SQL Server
Определение какая база данных создает нагрузку на CPU
Медленный sql. Как найти, что вызывает замедление в хранимой процедуре MS SQL
Ищем партнеров-разработчиков на T-SQL и PL/pgSQL
Falcon Space - платформа для создания сайтов с личными кабинетами
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта