I've just jumped on to a project to create an MDS system. One of the first thing that I've noticed is that all the text strings are NVarchar. One of the senior members of the team told me that all free type must be NVarcher. That being said, in the past I've had two major problems with Unicode especially when it's not necessary. First, they make joins far harder than they need to be. And second, the variables take up so much space that it slows everything down.
I'm wondering if there's a way set the system to be using varchars. If not, has anyone had performance issues because of this and how have they resolved it?
Thanks!
Asked
Active
Viewed 80 times
0

yoelbenyossef
- 393
- 1
- 7
- 26
-
1Can you explain what you mean by joins being more difficult with nvarchar? nvarchar does take twice the storage but we talking bytes not gigs not here. – Sean Lange Jul 07 '17 at 20:55
-
In SSIS, you cannot do a merge join on a varchar and NVarchar. So if the field is latin characters only, I always prefer using varchar. As for the size, it's bytes per field per line, that does add up to gigs. But more an issue is when you work with string manipulation or joins, it can heavily influence your performance to double the size of your variables. – yoelbenyossef Jul 10 '17 at 14:17