У багатьох моїх базах даних є поля, визначені як вархари. Це не було багато проблем , так як я живу і працюю в Америці (де єдина мова , який існує це «американський». Гм )
Пропрацювавши з базами даних близько 5 років, я виявив, що врешті-решт я зіткнувся з проблемами з обмеженим характером поля варчара і мені доводиться змінювати свої поля для зберігання даних як nvarchars. Після того, як зробити ще одне оновлення таблиці, перетворивши поле варчара в nvarchar, у мене просто з'явилася думка-- чому ми все ще робимо це таким чином? Я давно прийняв розумове рішення визначити всі нові мої текстові поля на nvarchar, а не на varchar. Це те, що я навчився робити з своїх підручників, коли навчався в школі 10 років тому.
Настав 2011 рік, і минулого року вийшов новий реліз SQL Server. Чому ми продовжуємо підтримувати тип даних varchar, коли ми можемо / мусимо замість цього використовувати nvarchar?
Я знаю, що часто стверджується, що nvarchars "вдвічі більше", ніж varchars, тому використання місця для зберігання може бути однією аргументацією для основних варкарів.
Однак сьогоднішні користувачі можуть визначити свої nvarchars для зберігання даних як UTF-8 замість UTF-16 за замовчуванням, якщо вони хочуть заощадити на просторі зберігання. Це дозволило б виконати 8-бітове кодування, якщо це в першу чергу бажано, одночасно даючи впевненість, що рідкісний 2-8-байтний символ, який вставляється в їх БД, нічого не порушить.
Я щось пропускаю? Чи є вагома причина, чому це не змінилося протягом останніх 15-20 років?