Оптимизация 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. MS SQL Server Медленно работают запросы SELECT
Как найти медленные проблемные запросы SQL Server. Оптимизация быстродействия SQL Server
SQL Server. Работа с индексами через запросы SQL
Где ставить индексы SQL Server
SQL Server. Оптимизация SQL запросов, план запроса в SQL Server. Советы по оптимизация запросов SQL
Решение проблем с большим кешем запросов SQL Server
Инструмент для анализа производительности запросов SQL Server Query Store
SQL Server Как найти запросы с проблемами (warning) в плане выполнения запроса (SQL Plan)
Разработчик SQL, нужны клиенты и заказы?
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта