soukromí & Cookies
tento web používá cookies. Pokračováním souhlasíte s jejich použitím. Další informace, včetně toho, jak ovládat soubory cookie.
kontrolní součet je vypočtená hodnota s pevnou délkou. Používá se k detekci náhodných chyb v přenosu dat.
obvykle se používá algoritmus pro výpočet hodnoty kontrolního součtu a každý algoritmus je navržen pro konkrétní cíl.
kontrolní součet funkce nebo algoritmy se vztahují k hašovacím funkcím, otiskům prstů, randomizačním funkcím a kryptografickým hašovacím funkcím
několik algoritmů kontrolního součtu
- paritní byte
- modulární součet
- kontrolní součty závislé na poloze
kontrolní součet() funkce-SQL Server
tato hashovací funkce se používá k výpočtu hodnoty kontrolního součtu pro celý řádek nebo seznam výrazů nebo sloupců. Vrací vypočtenou celočíselnou hodnotu.
argumenty kontrolního součtu jsou * pro výpočet hodnoty kontrolního součtu pro celý řádek nebo konkrétní sloupce nebo výrazy oddělené čárkou s platnými datovými typy .
neplatné datové typy jsou text, ntext, obrázek, XML a kurzor a také sql_variant.
implementace
0. Vypočítat kontrolní součet pro hodnotu NULL.
1. Vypočítejte kontrolní součet pomocí výrazu
vyberte kontrolní součet (‚SQL‘,‘ Server‘,’jezdec‘)
výstup: -1450562993
2. Vypočítejte kontrolní součet pomocí konkrétních sloupců v tabulce Adventureworks.
3. Vypočítat kontrolní součet pro celý řádek
Tato funkce kontrolního součtu může být použita v datovém skladu k detekci změn v řádku. Kontrolní součet () však může vrátit stejnou hodnotu pro dva různé argumenty. Protože algoritmus checksum () vypočítá několik bitů v bajtu a dává nám pouze hodnotu 4 byte (celé číslo) pro celá data. Takže možnosti kolize nebo duplikátů jsou vysoké.
ve skutečnosti je kontrolní součet určen pro použití při vytváření hash indexů v SQL Serveru.
tento problém byl velmi jasně vysvětlen v jiném blogu. Můžete odkazovat kontrolní součet slabost vysvětlil.
SQL Server má jiné hash funkce, jako CHECKSUM_AGG (), HASHBYTES () a
BINARY_CHECKSUM (). Vysvětlím o těchto funkcích v mém příštím blogu.