এসকিউএল সার্ভার 2019 থেকে শুরু করে (বর্তমানে বিটা / "কমিউনিটি টেক প্রিভিউ"), ইউটিএফ -8 এর জন্য ইউটিএফ -8 কোলিশনের একটি নতুন সিরিজের মাধ্যমে স্থানীয় সমর্থন রয়েছে। যাইহোক, ইউটিএফ -8 ব্যবহার করার ক্ষমতা থাকার অর্থ এই নয় যে আপনার উচিত। ইউটিএফ -8 ব্যবহারের ক্ষেত্রে নির্দিষ্ট ত্রুটি রয়েছে যেমন:
- কেবলমাত্র প্রথম 128 কোড পয়েন্টগুলি 1 বাইট (অর্থাত্ স্ট্যান্ডার্ড 7-বিট ASCII সেট)
- পরবর্তী প্রায় 2000 কোড পয়েন্ট 2 বাইট, তাই ইউটিএফ -16 / এর চেয়ে কোনও স্থানের সঞ্চয় নেই no
NVARCHAR
- বিএমপি-র অবশিষ্ট 63৩ কে কোড পয়েন্টগুলি (যেমন ইউ + 0800 - ইউ + এফএফএফএফ পরিসীমা) সমস্ত 3 বাইট, সুতরাং ইউটিএফ -16 / এর একই বর্ণের চেয়ে 1 বাইট বেশি
NVARCHAR
।
- এটি কেবল বলেছে: পরিপূরক অক্ষরগুলি উভয় এনকোডিংয়ে 4 বাইট হয়, সুতরাং সেখানে কোনও স্থানের পার্থক্য নেই
- আপনি ইউটিএফ -8 ব্যবহার করে স্থান সাশ্রয় করতে পারেন, এমন একটি খুব ভাল সম্ভাবনা রয়েছে যা করার জন্য আপনি পারফরম্যান্সের উপর চাপ ফেলবেন।
এটি আসলে কী নেমে আসে তা হ'ল: ইউটিএফ -8 হ'ল 8-বিট সিস্টেমগুলিকে সক্ষম করার জন্য স্টোরেজ বিন্যাসের নকশা (যা সাধারণত এএসসিআইআই এবং এএসসিআইআই এক্সটেন্ডেড - কোড পৃষ্ঠাগুলি) ইউনিকোড ব্যবহার করার জন্য কোনও কিছু না ভেঙে বা বিদ্যমান কোনও পরিবর্তন প্রয়োজন না করেই সক্ষম করা হয়েছিল জিনিস চলমান রাখতে ফাইল। হল UTF-8 ফাইল সিস্টেম এবং নেটওয়ার্কিং জন্য বিস্ময়কর, কিন্তু সংরক্ষিত ডেটা ভিতরে SQL সার্ভার তন্ন তন্ন হয়। সত্য যে স্ট্যান্ডার্ড ASCII সীমার মধ্যে সর্বাধিক (বা পুরোপুরি) হয়ে ওঠার জন্য ইউটিএফ -16 / হিসাবে সংরক্ষণ করা হয় তখন একই ডেটার চেয়ে কম স্থানের প্রয়োজন NVARCHAR
হয় a এটি একটি পার্শ্ব-প্রতিক্রিয়া। অবশ্যই, এটি একটি পার্শ্ব-প্রতিক্রিয়া যা কার্যকর প্রমাণ করতে পারে, তবে সেই সিদ্ধান্তটি এমন কোনও ব্যক্তির দ্বারা নেওয়া উচিত যা এই সিদ্ধান্তের ডেটা এবং ফলাফল / অপূর্ণতা উভয়ই বোঝে । এইসাধারণ ব্যবহারের জন্য কোনও বৈশিষ্ট্য নয় ।
এছাড়াও, ইউটিএফ -8 (এসকিউএল সার্ভারে) এর মূল ব্যবহারের ক্ষেত্রটি ইতিমধ্যে ইউটিএফ -8 ব্যবহার করে এমন অ্যাপ্লিকেশন কোডের জন্য সম্ভবত এটি ইতিমধ্যে অন্য আরডিবিএমএস সমর্থন করে যা অ্যাপ্লিকেশন কোড / ডিবি স্কিমা আপডেট করার কোন ইচ্ছা বা ক্ষমতা নেই ব্যবহারের NVARCHAR
datatypes (টেবিল, ভেরিয়েবল, পরামিতি, ইত্যাদির জন্য), অথবা একটি বড়হাতের "এন" সঙ্গে উপসর্গ স্ট্রিং লিটারেল করতে। লক্ষ্যটি ইউটিএফ -8 বিদ্যমান থাকার কারণ হিসাবে একই: সামগ্রিক কাঠামো পরিবর্তন না করে বা অস্তিত্বের ডেটা অবৈধ রেন্ডারিং ছাড়াই ইউনিকোড ব্যবহার করতে অ্যাপ কোড সক্ষম করুন। এটি যদি আপনার পরিস্থিতি বর্ণনা করে তবে ইউটিএফ -8 ব্যবহার করুন তবে সচেতন থাকুন এটির সাথে এখনও কয়েকটি বাগ / সমস্যা রয়েছে।
আপনার যদি ইউনিকোডের NVARCHAR
"এন" উপসর্গযুক্ত স্ট্রিং লিটারেলগুলি ব্যবহার না করে বা কাজ না করে কাজ করার সুস্পষ্ট প্রয়োজন না থাকে তবে কেবলমাত্র অন্যান্য দৃশ্যে যেখানে ইউটিএফ -8 সুবিধা হয় যদি আপনার বেশিরভাগ মানক ASCII ডেটা থাকে যার জন্য অনুমতি দেওয়া দরকার ইউনিকোড অক্ষর এবং আপনি ব্যবহার করছেন NVARCHAR(MAX)
(যার অর্থ ডেটা সংক্ষেপণ কাজ করবে না), এবং টেবিলটি ঘন ঘন আপডেট হয় (সুতরাং ক্লাস্টারড কলামস্টোর সূচক সম্ভবত সত্যই সাহায্য করবে না)।
সম্পূর্ণ বিশদ জন্য, আমার পোস্ট দেখুন:
এসকিউএল সার্ভার 2019 এ নেটিভ ইউটিএফ -8 সমর্থন: ত্রাণকর্তা বা ভ্রান্ত নবী?