sql >> Databáze >  >> RDS >> Mysql

mysql, bigint nebo dekadické pro ukládání> 32 bitových hodnot, ale méně než 64 bitů

Podle mého názoru by byl bigint lepší. Je uloženo jako celé číslo, kterému MySQL bude rozumět nativně bez nutnosti jakékoli konverze, a proto (předpokládám) bude rychlejší při manipulaci. Měli byste proto očekávat, že MySQL bude o něco efektivnější, pokud použijete bigint.

Podle této manuálové stránky , prvních 9 číslic vašeho čísla bude uloženo ve čtyřbajtovém bloku a zbývající číslice (požadujete až 12) budou uloženy ve dvoubajtovém bloku. To znamená, že váš sloupec zabírá 6 bajtů na řádek, na rozdíl od 8 bajtů pro bigint. Navrhoval bych, že pokud a) nebudete ukládat skutečně obscénní počet řádků, takže zabrané místo je vážným problémem, a b) nebudete potřebovat dotazovat na dotyčná data velmi málo, měli byste jít s bigintem.



  1. Proč MySQL hlásí chybu syntaxe na FULL OUTER JOIN?

  2. Vkládejte hromadné záznamy do vzdálené databáze (dblink) pomocí Bulk Collect

  3. Podivná výjimka SQL:Sloupec nebyl nalezen

  4. Auditování změn dat serveru SQL Server