Мне нужно руководство, относящееся к стандартам SQL. Мне поручено разработать небольшую базу данных, и мой менеджер ожидает, что я буду следовать стандартам типа данных и размера, соответствующим образом использую int и big int, если First name использует правильный тип данных varchar или char, в основном размер не резко varchar (60) или varchar (75), но используйте либо varchar (128), либо varchar (64) или varchar (256). Я не уверен в стандартах. Пожалуйста, направляйте меня относительно размера, насколько это отличается, если я объявляю varchar (60) вместо стандартного varchar (256). Каков список, начинается ли он с varchar (8) и заканчивается на varchar (256)Тип и размер данных SQL Server
ответ
varchar
будет использовать только столько места, сколько длина строки (до максимально допустимого). char
будет использовать фиксированный размер независимо от размера хранимых данных. Есть NbO «стандарты», но вот некоторые рекомендации от MSDN:
- Использование
char
, когда размеры записей данных столбца последовательны.- Использовать
varchar
, когда размеры записей данных столбца значительно различаются.- Использовать
varchar(max)
, когда размеры записей данных столбца значительно различаются, а размер может превышать 8000 байт.
Есть также не стандарты в отношении надлежащей длины varchar
. Здравый смысл сказал бы использовать максимальный размер, который могут быть ваши данные: 256 символов для фамилии кажутся более разумными. Нет никакой пользы от того, что я знаю, чтобы использовать кратность любого числа для размера, поскольку он хранится как переменная длина с нулевым терминатором.
Похоже, что у вашей организации могут быть определенные стандарты (использование кратных 8 и т. Д.), К которым вы, вероятно, должны придерживаться, но ничто в отрасли, о котором я знаю.
Второе, что «Есть также не стандарты относительно правильной длины варчара». Между VARCHAR (32) и VARCHAR (40) нет разницы в производительности, хранении и т. Д. (При условии, что все данные, поступающие в поле, составляют менее 32 символов, а 40 - «на всякий случай». – JNevill
Я думаю, что в этом день и возраст дешевой памяти и хранилища, не использующие nvarchar (с учетом возможных проблем, которые можно избежать с помощью юникода) не стоит будущего потенциального затруднения при работе с ошибками кодовой страницы http://stackoverflow.com/questions/144283/what-is- разностной-между-VARCHAR-и-NVARCHAR. –
- 1. Размер баз данных MySQL и SQL Server
- 2. IsNull и тип данных в SQL Server
- 3. Тип данных широты и долготы SQL Server
- 4. Тип данных SQL Server XML и QUOTED_IDENTIFIER
- 5. Тип данных SQL Server day?
- 6. Sql server 2005 тип данных
- 7. SQL Server Шестнадцатеричный тип данных
- 8. SQl Server 2005 Тип данных
- 9. Mule SQL Server Тип источника данных Тип
- 10. Цифровой тип данных данных SQL Server
- 11. asp.net Динамический объект данных и тип данных изображения SQL Server
- 12. Тип данных размер переменной в sql
- 13. SQL Server Уменьшить размер файла базы данных
- 14. Уменьшить размер базы данных SQL Server
- 15. Тип данных с плавающей запятой SQL Server
- 16. Недетерминированный тип данных в SQL Server
- 17. Ошибка CE Тип преобразования данных SQL Server
- 18. Тип данных nvarchar в SQL Server? Asp.net?
- 19. Выберите размер базы данных SQL Server
- 20. Узнайте полный размер базы данных SQL Server
- 21. Размер базы данных SQL Server 2008 R2
- 22. Размер SQL Server tempDB для хранилища данных
- 23. Тип данных SQL Server за день?
- 24. Размер/длина и тип таблицы SQL
- 25. Delphi тип данных для SQL Server last_user_update
- 26. Тип данных SQL Server для замены XML
- 27. Тип данных timestamp SQL Server 2008
- 28. Diff on SQL Server Тип данных XML?
- 29. Как использовать тип данных SQL Server time?
- 30. SQL Server Text Тип данных Maxlength = 65,535?
Прочтите документ char и varchar на msdb. https://msdn.microsoft.com/en-us/library/ms176089.aspx – Hiten004
Извините, но пока мы рады помочь с проблемами, если вы можете тривиально искать документацию, вы действительно должны это сделать сами , –
@Thomas_ITsavvy вы обычно избегаете varchar и char. Лучше всего использовать nvarchar. –