Вы бы использовали ansistring вместо строки, чтобы избежать неявных преобразований в вашей базе данных SQL Server.
т.е. когда вы передаете строковую переменную в MSSQL, она выглядит как nvarchar (max). Учитывая тот факт, что хорошо спроектированная база данных в MSSQL может по умолчанию использовать varchars, а не nvarchars (если нет бизнес-требований для нелатинских наборов символов).
Строковая переменная в этом случае вызовет неявное преобразование в базе данных. Это может затем сделать движок неспособным использовать определенные индексы и выполнить полное сканирование таблицы (один из корней зла для производительности БД)