Каковы подробности использования CF_SQL_NVARCHAR в ColdFusion 10?
Документация ColdFusion 10 по обновлению базы данных содержит разделУлучшения, связанные с базами данных в ColdFusion 10, На этой странице упоминается, что теперь есть поддержкаCF_SQL_NVARCHAR
среди прочих, но без подробностей о них. Кроме того,документация cfqueryparam не был обновлен, чтобы включить их существование.
Документация ColdFusion 9 для cfqueryparam упоминает, чтоCF_SQL_VARCHAR
карты дляvarchar
в MSSQL. Это верно, если администратор ColdFusionнастройки источника данных имеетString Format
настройка включена. В таком случаеCF_SQL_VARCHAR
карты дляnvarchar
, Эта плохо документированная функция - это взлом, который можетвызвать проблемы с производительностью в пределах ColdFusion.
Так что здорово, что они ввелиCF_SQL_NVARCHAR
, но было бы хорошо понять, как это работает. Это просто псевдоним дляCF_SQL_VARCHAR
делать это бессмысленно? Всегда ли он отправляет строки какnvarchar
? Если да, тоCF_SQL_VARCHAR
всегда отправлятьvarchar
?
Я надеюсь, что для обеспечения обратной совместимости это реализовано так:
ЕслиString Format
включенCF_SQL_VARCHAR
а такжеCF_SQL_NVARCHAR
обе карты вnvarchar
.
ЕслиString Format
затем отключенCF_SQL_VARCHAR
карты дляvarchar
а такжеCF_SQL_NVARCHAR
карты дляnvarchar
.
Это будет означать, что любые сайты до CF10 могут перейти на CF10 и работать с теми же соображениями производительности, что и до CF10.
Новые сайты или сайты, которые переписывают все запросы, чтобы соответствоватьCF_SQL_VARCHAR
а такжеCF_SQL_NVARCHAR
При проектировании базы данных не получится снижение производительности, что неизбежно до CF10.
Может ли кто-нибудь подтвердить, если это так; даже лучше если с чем то официальным?