У меня есть большой объем постоянно поступающих данных (примерно 10 000 в минуту и число их увеличивается), которые я хочу вставлять в базу данных как можно эффективнее. На данный момент я использую подготовленные операторы вставки, но думаю использовать класс SqlBulkCopy для импорта данных большими порциями.
Проблема в том, что я не вставляю в одну таблицу - элементы элемента данных вставляются в многочисленные таблицы, а их столбцы идентификаторов используются как внешние ключи в других строках, которые вставляются одновременно. Я понимаю, что массовые копии не предназначены для более сложных вставок, подобных этой, но мне интересно, стоит ли менять столбцы идентификаторов (в данном случае bigints) на столбцы uniqueidentifier. Это позволит мне сделать пару массовых копий для каждой таблицы, и, поскольку я могу определить идентификаторы перед вставкой, мне не нужно проверять что-либо вроде SCOPE_IDENTITY, что мешает мне использовать массовое копирование.
Звучит ли это как жизнеспособное решение или есть другие потенциальные проблемы, с которыми я могу столкнуться? Или есть другой способ быстро вставить данные, но сохранить использование столбцов идентификаторов bigint?
Спасибо.