データベースの更新に関するColdFusion10のドキュメントには、ColdFusion10のデータベース関連の拡張機能に関するセクションがあります。CF_SQL_NVARCHAR
そのページには、とりわけサポートが行われていると記載されていますが、詳細は記載されていません。さらに、cfqueryparamのドキュメントは、それらの存在を含むように更新されていません。
cfqueryparamのColdFusion9のドキュメントには、MSSQLでのCF_SQL_VARCHAR
マップについて記載されています。varchar
これは、ColdFusionAdministratorのデータソース設定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
CF10CF_SQL_NVARCHAR
以前に避けられなかったパフォーマンスの低下を被ることはありません。
これが事実かどうかを誰かが確認できますか。何か公式なものがあればさらに良いですか?