Ja nevim, skoly nemam, ale pokud se ze svych DB zacatku dobre pamatuju (uz je to par let), tak pri malem mozstvi ruznych "choices" je klasicky b-tree index stejne malo efektivni, takze se pravdepodobne nepouzije. Mohl by se pouzit binarni index, pokud ho dana databaze podporuje, a tomu je zase jedno, jestli indexuje int nebo kratky char.
Ale jak rikam, pamatuju si to uz jenom mlhave. Starnu :) Jirka 2014-11-13 13:12 GMT+01:00 Jan Češpivo <[email protected]>: > Ideálně používat enum nebo celočíselný typ. Lze podle něj hezky řadit a je > menší, což oceníš hlavně při použití indexu, protože s indexem, který se > vejde do pracovní paměti, pracuje databázový stroj *výrazně* rychleji než > když je na disku. > > Příklad v Postgresql: > 20M záznamů > integer: 421 MB > varchar(255): 1106 MB > > PS: Výchozí nastavení PostgreSQL se drží hodně při zemi (hlavně co to týče > využívání paměti). > > 2014-11-13 12:49 GMT+01:00 Petr Viktorin <[email protected]>: > >> 2014-11-13 12:34 GMT+01:00 yedpodtrzitko <[email protected]>: >> > Omlouvam se za vagne formulovanou otazku - slo mi spis o tu >> representaci v >> > DB zda volit string nebo integer. Nicmene diky za reakce. >> >> Tak v databázi by mělo být reprezentované jako ENUM [0], který >> "vypadá" jako řetězec, ale porovnává se indexem a na disku má 4 byty >> (aspoň teda v Postgresu). >> >> Podle téhle odpovědi na Stack Overflow [1] to ale Django ORM neumí >> přímo, tak se to musí ohackovat :( >> >> [0] http://www.postgresql.org/docs/9.1/static/datatype-enum.html >> [1] http://stackoverflow.com/a/33932/99057 >> >> > >> > -- >> > -- >> > E-mailová skupina [email protected] >> > Správa: http://groups.google.cz/group/django-cs >> > >> > --- >> > Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny >> > „django-cs“ ve Skupinách Google. >> > Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, >> > zašlete e-mail na adresu [email protected]. >> > Další možnosti najdete na https://groups.google.com/d/optout. >> >> -- >> -- >> E-mailová skupina [email protected] >> Správa: http://groups.google.cz/group/django-cs >> >> --- >> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny >> django-cs ve Skupinách Google. >> Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, >> zašlete e-mail na adresu [email protected]. >> Další možnosti najdete na adrese https://groups.google.com/d/optout. >> > > -- > -- > E-mailová skupina [email protected] > Správa: http://groups.google.cz/group/django-cs > > --- > Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny > „django-cs“ ve Skupinách Google. > Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, > zašlete e-mail na adresu [email protected]. > Další možnosti najdete na https://groups.google.com/d/optout. > -- -- E-mailová skupina [email protected] Správa: http://groups.google.cz/group/django-cs --- Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs ve Skupinách Google. Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, zašlete e-mail na adresu [email protected]. Další možnosti najdete na adrese https://groups.google.com/d/optout.
