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