در هنگام ایجاد پایگاه داده، جدول‌ها و ستون‌های رشته‌ای در MySQL امکان تغییر دادن Collation پیش‌فرض وجود دارد

مای اسکیو ال

برای ذخیره‌سازی نوشته‌های یونیکد و از آن جمله فارسی، لازم است تا یکی از زیرمجموعه‌های utf8 انتخاب شود

تفاوت سه گزینه‌ی utf8_unicode_ci و utf8_general_ci و utf8_persian_ci در الگوریتم مرتب‌سازی آن‌هاست که می‌تواند اندکی در عملکرد و کارایی اثرگذار باشد

اگر می‌خواهید متن‌های فارسی را در فیلد خود ذخیره کنید، بهترین گزینه، utf8_persian_ci است که با بیشترین سرعت ممکن و بهترین دقت متن‌های فارسی را به درستی مرتب می‌کند

اگر فیلد شما حاوی متن‌های چندزبانه باشد انتخاب یکی از گزینه‌های utf8_general_ci و utf8_unicode_ci شما را به هدف می‌رساند

utf8_general_ci تفاوت اندکی با utf8_unicode_ci دارد و آن این است که بخشی از الگوریتم‌های یونیکد در آن پیاده نشده است و ممکن است در هنگام مرتب‌سازی برخی زبان‌ها اشتباهاتی در آن مشاهده شود. در عوض کارایی آن بهتر است

با توجه به افزایش قدرت پردازنده‌های امروزی، افزایش کارایی اندکی که با استفاده از utf8_general_ci به دست می‌آید قابل چشم‌پوشی است و بهتر است همیشه از utf8_unicode_ci استفاده کنید

منبع

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *