В чем разница между CHECKSUM_AGG () и CHECKSUM ()? - PullRequest
14 голосов
/ 13 октября 2011

В чем разница между CHECKSUM_AGG () и CHECKSUM ()?

Ответы [ 2 ]

17 голосов
/ 13 октября 2011
  • CHECKSUM вычисляет хэш для одного или нескольких значений в одной строке и возвращает целое число.
  • CHECKSUM_AGG - агрегатная функция, которая принимает одно целочисленное значение из нескольких строк и вычисляет агрегированную контрольную сумму для каждой группы.

Их можно использовать вместе для проверки нескольких столбцов в группе:

SELECT category, CHECKSUM_AGG(CHECKSUM(*)) AS checksum_for_category
FROM yourtable
GROUP BY category
5 голосов
/ 13 октября 2011

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

CHECKSUM предназначен для построения хеш-индекса на основе выражения или списка столбцов. Одним из примеров использования CHECKSUM является сохранение уникального значения для всей строки в столбце для последующего сравнения.

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