Re: Domain vs table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Oct 20, 2009, at 6:55 AM, Merlin Moncure wrote:
On Sun, Oct 11, 2009 at 11:31 AM, Michal Szymanski <mich20061@xxxxxxxxx> wrote:
I think I've found answer to my question
http://www.commandprompt.com/blogs/joshua_drake/2009/01/ fk_check_enum_or_domain_that_is_the_question/


I mostly agree with the comments on the blog but let me throw a couple
more points out there:

*) It is possible (although not necessarily advised) to manipulate
enums via direct manipulation of pg_enum
*) enums are the best solution if you need natural ordering properties
for indexing purposes
*) domains can't be used in arrays
*) foreign key is obviously preferred if you need store more related
properties than the value itself
*) if the constraint is complicated (not just a list of values), maybe
domain/check constraint is preferred, possibly hooked to immutable
function


Also, if the base table will have a very large number of rows (probably at least 10M), the overhead of a text datatype over a smallint or int/oid gets to be very large.
--
Decibel!, aka Jim C. Nasby, Database Architect  decibel@xxxxxxxxxxx
Give your computer some brain candy! www.distributed.net Team #1828



--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux