Я думаю, что сделать обновление базы данных немного проще.
В данном случае: нужно сравнить все столбцы от DB A до DB B от PK, чтобы знать, нужно ли обновлять эту строку.
Простым способом является подключение всех столбцов с разделителями, а затем сравнение. НАПРИМЕР:
string row_A=column1+column2+.....column20;
string row_B=column1+column2+.....column20;
if(row_A!=row_B)
{...}
Но мне интересно, есть ли лучший способ, как вычислить эти столбцы в уникальное значение, что-то вроде хэша или что-то еще, тогда я могу сохранить эти значения в таблице.
uniqueValue_A=makeUniqueValue(column1+column2+.....column20);
uniqueValue_B=makeUniqueValue(column1+column2+.....column20);
if(uniqueValue_A!=uniqueValue_B)
{...}
Тогда мне просто нужно сравнить эти уникальные числа или строки.
Если у вас были отметки времени, когда эти строки, где последнее обновление, или номер версии строки, обычно один из них реализуется в таблицах, которые необходимо синхронизировать и обновлять/увеличивать каждый раз при обновлении.
В противном случае, если нет, хеш-функция (хэш всех столбцов отдельно), то хэш этого, будет вашим вторым лучшим, если сравнивать каждое значение не является жизнеспособным.
PS Хеширование никогда не гарантирует, что нет столкновения, но в зависимости от того, насколько велик ваш набор данных, это маловероятно.
J
+ames
- это то же самое, что иJam
+es
. Хеширование может иметь такой же вид столкновения. Если у вас проблемы с производительностью, подумайте над улучшением индексации для поддержки сравнения. Если у вас нет проблем с производительностью, оптимизируйте, когда это необходимо.