特定のアプリケーションについて、SQL Server の VARCHAR と NVARCHAR の長所と短所を調査した結果、SQL Server がネイティブで UTF8 をサポートしていれば理想的であることに気づきました。いくつかの SO 投稿は、そうではないことを示しています。
VARCHAR は完全に 1990 年代のようなものですか?
varchar と nvarchar の SQL Server データ型の主なパフォーマンスの違いは何ですか?
ただし、SQL Server 2012 の MSDN ドキュメントで、UTF8String ユーザー定義データ型を作成する方法を示す次の記事に出くわしました。
http://msdn.microsoft.com/en-us/library/ff877964(v=sql.110).aspx
UDT は、UTF-8 で表現できる任意の文字列を格納するのに十分な柔軟性を持ちながら、1 文字あたり 8 ビットのスペース (メモリ、ディスク) の利点を考慮しているようです。あれは正しいですか?この戦略にはマイナス面がありますか (たとえば、各行のマネージド コードを実行するためのパフォーマンス コストなど)?