Сервер SQL: хранение даты и времени против длинного текста - PullRequest
0 голосов
/ 09 декабря 2011

У меня есть ситуация, которую я могу разрешить, добавив столбец типа datetime или ntext.

С точки зрения производительности, какой из них будет лучше использовать. Число записей превышает 60000. Я думал о дате и времени, так как я мог бы индексировать его, но не уверен, что ntext может быть ... любое предложение или обсуждение, которое будет касаться памяти, скорости лучше ... или любые другие проблемы с производительностью

Обновление: столбец, который я добавлю, является независимым - один - это время даты, а другой - текст, я могу решить эту проблему с помощью кого-либо, ПРИМЕЧАНИЕ: я не пытаюсь сохранить дату и время здесь как текст.

Ответы [ 3 ]

2 голосов
/ 09 декабря 2011

60000 записей - ничто для SQL Server.
Так что не должно быть никакой заметной разницы.Может быть, будет разница, если это будет ДЕЙСТВИТЕЛЬНО большая таблица (сотни миллионов записей и выше ...), но не с вашим объемом данных.

Однако, как уже говорили другие: вашаУтверждение, что вы можете использовать datetime или ntext, звучит для меня очень странно.Если это действительно значения даты и / или времени, используйте datetime, а не ntext !!!


РЕДАКТ.:

Теперь, когда вы пояснили, чтоВы не хотите хранить значения даты в текстовом столбце:
Я бы предложил использовать столбец datetime.Это лучше, чем ntext по производительности.

В качестве примечания: если вы предпочитаете использовать текстовый столбец, вы должны использовать nvarchar(max) вместо ntext.ntext медленнее и не рекомендуется.

2 голосов
/ 09 декабря 2011

Если данные DATETIME, используйте DATETIME.

У вас будут проблемы с запросом текстового поля, когда вам нужно будет выполнить операции с датой и временем.

Производительность- DATETIME составляет 8 байтов, а NVARCHAR для хранения даты будет длиннее.Операции, которые требуют работы с датой / временем, потребуют преобразований с полем NVARCHAR, что будет дороже, чем простое использование столбца DATETIME.

1 голос
/ 09 декабря 2011

Это два совершенно разных поля. Если вам нужно сохранить даты, используйте datetime, если вам нужно сохранить текст, используйте varchar или длинный текст. Не хранить даты в виде текста!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...