সবচেয়ে বড় উদ্বেগ হ'ল nvarchar
চরিত্র অনুসারে 2 বাইট ব্যবহার করে, যেখানে varchar
1 ব্যবহার করে uses সুতরাং, nvarchar(4000)
সমান পরিমাণ স্টোরেজ varchar(8000)
* ব্যবহার করে uses
আপনার সমস্ত চরিত্রের ডেটার পাশাপাশি দ্বিগুণ স্টোরেজ স্পেসের প্রয়োজন রয়েছে, এর অর্থ এটিও:
nvarchar
8060 বাইট সারি সীমা / 8000 বাইট অক্ষরের কলাম সীমাতে সারি রাখার জন্য আপনাকে সংক্ষিপ্ত কলামগুলি ব্যবহার করতে হতে পারে ।
- আপনি যদি
nvarchar(max)
কলামগুলি ব্যবহার করছেন তবে এগুলি তার চেয়ে শীঘ্রই অফ-সারিতে ঠেলে দেওয়া varchar(max)
হবে।
nvarchar
৯০০-বাইট সূচি কী সীমাতে থাকার জন্য আপনাকে সংক্ষিপ্ত কলামগুলি ব্যবহার করতে হতে পারে (আপনি কেন এত বড় সূচি কী ব্যবহার করতে চান তা আমি জানি না, তবে আপনি কখনই জানেন না)।
এর বাইরে, nvarchar
ইউনিকোড পরিচালনা করার জন্য আপনার ক্লায়েন্ট সফ্টওয়্যারটি নির্মিত বলে ধরে নিয়ে কাজ করা খুব আলাদা নয়। SQL সার্ভার স্বচ্ছভাবে একটি upconvert হবে varchar
থেকে nvarchar
, তাই আপনি কঠোরভাবে যদি না আপনি 2-বাইট (অর্থাত ইউনিকোড) আক্ষরিক অক্ষর ব্যবহার করছেন স্ট্রিং লিটারেল জন্য N উপসর্গ প্রয়োজন হবে না। ভোটদান যে সচেতন হতে হবে nvarchar
করার varbinary
উৎপাদনের সঙ্গে একই করছেন চেয়ে ভিন্ন ফলাফল varchar
। গুরুত্বপূর্ণ বিষয়টি হ'ল অ্যাপ্লিকেশনটি চালিয়ে যাওয়ার জন্য আপনার প্রতিটি বারচর আক্ষরিক সাথে সাথে একটি এনভারচার আক্ষরিকে পরিবর্তন করতে হবে না, যা প্রক্রিয়াটি সহজ করতে সহায়তা করে।
* আপনি ডাটা কম্প্রেশন ব্যবহার করেন তাহলে (লাইটওয়েট সারি কম্প্রেশন যথেষ্ট, এন্টারপ্রাইজ এডিশন প্রয়োজনীয় আগে SQL সার্ভার 2016 এসপি 1 ) আপনি সাধারণত পাবেন nchar
এবং nvarchar
বেশী স্থান নিতে char
এবং varchar
কারণে ইউনিকোড কম্প্রেশন (SCSU অ্যালগরিদম ব্যবহার করে) ।