Высокая точность даты / времени в SQL Server 2005 - PullRequest
0 голосов
/ 15 марта 2011

У меня есть массовые записи, которые импортируются в таблицу SQL Server 2005.Мне нужно иметь возможность поддерживать тот же порядок, в котором они были импортированы.Я использовал поле DateTime и заполнял его в GETDATE (), но это не было достаточно точным.

Есть какой-нибудь совет?

Изменить, просто чтобы прояснить ...Мне все равно, в каком порядке они появляются в таблице.Мне нужно иметь возможность заказать их и поддерживать порядок, в котором они были вставлены.Теперь проблема в том, что когда я выполняю ORDER BY с моим полем DateTime, несколько записей попадают в одну и ту же дату из-за недостаточной точности.

Ответы [ 2 ]

2 голосов
/ 15 марта 2011

Точность недостаточно высока, потому что при импорте импортируется больше строк в секунду, чем точности в типе данных datetime?

Какой механизм вы используете для импорта строк?

Я бы посоветовал стандартный столбец идентификаторов, который почти наверняка будет увеличиваться (но кто-то может включить вставку идентификатора и вставить строку в любое место, где есть пробел, который может произойти во время транзакции, которая откатывается из-за нарушения ограничения) или аналогичный).

Обратите внимание, что если у вас есть несколько параллельных вставок (разные соединения или что-то еще), они будут чередоваться, поэтому вы не можете использовать простой диапазон для поиска всех вещей, которые, скажем, из определенного исходного файла.

Во многих случаях при использовании служб SSIS у нас был идентификатор партии и порядковый номер в пакете, назначенный строкам во время потока данных (отдельно от идентификатора, который мог существовать в таблице назначения).

1 голос
/ 15 марта 2011

Вы не упоминаете, как импортируете записи, но добавление столбца идентификаторов с автоинкрементом в вашу таблицу должно работать нормально.

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