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

BIGINT výkon mysql ve srovnání s INT

Odpověď na vaši otázku:ano, bude to méně výkonné. Je zřejmé, že čím větší typ, tím větší tabulka, tím pomalejší jsou dotazy (více I/O, větší indexy, delší přístupová doba, menší pravděpodobnost, že se vejdou do různých mezipamětí atd.). Takže zásada:vždy používejte nejmenší typ to, co potřebujete.

Jak již bylo řečeno, na výkonu nezáleží . Proč? Protože když dosáhnete bodu, kdy přetečete INT, pak je BIGINT jediným řešením a budete s tím muset žít. Také v tomto okamžiku (vzhledem k tomu, že používáte automatické zvýšení PK, budete mít více než 4 miliardy řádky), budete mít větší problémy s výkonem a režie BIGINT ve srovnání s INT bude tou nejmenší starostí.

Zvažte tedy následující body:

  • Pokud nepotřebujete záporné hodnoty, použijte UNSIGNED. Tím se limit zdvojnásobí.
  • Maximální hodnota UNSIGNED INT je 4 294 967 295. Pokud používáte automatický přírůstek PK a máte pouze 300 000 záznamů, opravdu se nemusíte bát . V tuto chvíli můžete dokonce použít STŘEDNÍ, pokud neplánujete opravdu rychlý růst. (viz http://dev.mysql.com/doc /refman/5.1/en/integer-types.html )
  • Číslo v závorkách za typem nemá vliv na maximální hodnotu typu . INT(7) je totéž jako INT(8) nebo INT(32). Používá se k označení šířky zobrazení, pokud zadáte ZEROFILL (viz http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html )


  1. Parametry připojovacího řetězce pro Schema.ini

  2. Funkce WIDTH_BUCKET() v Oracle

  3. Jaký je rozdíl mezi datovou maskou 'yy' a 'rr' Oracle?

  4. Server neodpovídá (nebo není správně nakonfigurován soket místního serveru MySQL) na serveru wamp