Функция Stuff в SQL занимает больше времени
Я объединяю строковые значения с помощью функции Stuff. Но для этого требуется больше времени.Когда я гуглил, я узнал два способа: 1.индексирование и 2. перекрестное применение обоих методов, которые я реализовал в своем запросе. Но все равно это занимает больше времени. Как я могу оптимизировать функцию stuff? Есть ли какое - либо другое решение?
Что я уже пробовал:
SELECT p1.Data, STUFF((SELECT '-'+ Res FROM View1 p2 WHERE p2.Id = p1.Id Order by __seq__ID FOR XML PATH('')) ,1,1,'') AS 'Newcolumn' FROM View1 p1
David_Wimbley
Не уверен, что это применимо, учитывая, что я не знаю, какие данные вы пытаетесь ввести, используя материал, и я ничего не знаю о вашей схеме, но пробовали ли вы использовать функции подстроки и замены вместо материала?
Developer29
можете ли вы привести какой-нибудь пример
David_Wimbley
Учитывая, что я ничего не знаю о вашей схеме/данных и не имею к ним доступа, вам лучше использовать функции google SUBSTRING и REPLACE, чтобы посмотреть, соответствуют ли они вашим потребностям.
ZurdoDev
Вы можете попробовать КОАЛЕСЦИРОВАТЬ.
Объявить @string NVARCHAR (MAX);
Выберите строку @ = КОАЛЕСЦИРУЮТ(@строка+ '-', ") + Рес
Откуда бы то ни было
Richard Deeming
Объединение значений строк в Transact-SQL[^]
Различные альтернативные методы в этой статье. Но у нас нет доступа к вашей базе данных, поэтому мы не можем сказать вам, какой из них будет самым быстрым, или как заставить их работать быстрее.
Если имя View1
означает, что вы выбираете из представления, то вам, вероятно, нужно оптимизировать представление, а также функцию.