Мне нужно обновить столбец в большой таблице (более 30 миллионов строк), у которой нет первичного ключа. В строке таблицы есть уникальный столбец адресов электронной почты. Обновление включает в себя создание значения, которое должно иметь место на C# и добавления его к значению столбца. Поэтому строка должна быть прочитана, значение столбца обновлено и записано обратно.Обновление текущей строки с использованием ADO.NET
Я надеялся, что в ADO.NET существует концепция курсора, но я этого не вижу. Я могу читать строки достаточно быстро, но вызов обновления, используя предложение WHERE для адреса электронной почты, берет навсегда. После изучения этого большинства ответов, похоже, «поставить в первичный ключ!». но это не вариант. Есть предположения?
Почему добавление первичного ключа не является вариантом ??? У вас есть хотя бы кластерный индекс? И да, если вы обновляете 30 миллионов строк, вызывая обновление для каждой строки, это будет продолжаться вечно. –
У меня нет этой таблицы, поэтому я не могу добавить первичный ключ. –
Имеет ли он кластеризованный индекс? –