Hlavní navigace

Názor k článku Co zajímavé najdete v uniklé databázi ODS? od lzap - Ne vždy musí jít o neznalost autora databáze,...

  • Článek je starý, nové názory již nelze přidávat.
  • 3. 4. 2012 10:53

    lzap (neregistrovaný) ---.tmcz.cz

    Ne vždy musí jít o neznalost autora databáze, do věci promlouvají i jiné důvody jako je například přenositelnost nebo optimalizace.

    V ideálním případě boolean reprezentuje jeden bit, jenže pro počítače (i databáze) je adresovatelná jednotka paměti jeden byte a pracovat přímo s bity je časově náročnější (musejí se "vymaskovávat"), proto je boolean obvykle vnitřně reprezentován prostě a jednoduše číslem (0 nebo 1) a to dokonce celým o rozsahu osmi nebo častěji 32bitů (práce s wordy je nejefektivnější). Jinak řečeno: sizeof(bool) == sizeof(int) - na většině implementací C/C++ například.

    Takže v některým případech (neříkám vždy) se může stát, že takový tinyint(1) i int(4) zabírá v konečném důsledku méně prostoru, než boolean (teoreticky 64 bitů na 64bitovém serveru). Záleží na situaci, podpoře ze ztrany runtime (SQL serveru) atd atp.

    To jen tak na okraj. Ne vždy se jedná o neschopnost. Dost často jen lidé nevidí všechny souvislosti ;-)