nvarchar(max) vs nvarchar(N)
MS SQL Server предоставляет нам на выбор несколько типов данных для хранения строк. Самый популярный - nvarchar(N) (где 1 ≤ N ≤ 4000) или nvarchar(max), который позволяет хранить строковые данные в кодировке Юникод. При этом, часто прикладные разработчики переносят опыт использования типа string из языка приложения (C# или Java, например) в базы данных и не задумываясь выбирают тип nvarchar(max), позволяющий хранить строки размером до 2ГБ. Но базы данных хранят и работают с данными совершенно другим способом. В этой статье я расскажу и покажу на практике, к чему может приводить неоправданное использование типа nvarchar(max).
Csharp (9)
.net (6)
LINQ (5)
benchmark (5)
performance (5)
.net48 (4)
.netcore31 (4)
MSSQL (4)
.net8 (3)
TSQL (3)
.net10 (2)
regex (2)
string (2)
patterns (2)
.net6 (2)
.net9 (2)
whitespaces (1)
collections (1)
list (1)
specification (1)
repository (1)
EntityFramework (1)
dapper (1)
sql (1)
paging (1)
.net5 (1)
optimization (1)
.net471 (1)
retry (1)
circuit breaker (1)