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